質問

スタンドアロンのフルバージョンの Windows Media Player を操作する方法を探しています。
主に、現在再生されているトラックのパスを知る必要があります。

iTunes SDK を使用するとこれが非常に簡単になりますが、残念ながら Windows Media Player では、少なくとも .Net(C#) では pinvoke を多用せずにこれを行う方法はありません。私はこれにあまり慣れていません。

ありがとう

明確にしておきます:Windows Media Player の新しいインスタンスをアプリに埋め込むのではなく、ユーザーが個別に起動した Windows Media Player の「実際の」フル バージョンを制御/読み取りたいと考えています。

役に立ちましたか?

解決

これを持っていました https://social.msdn.microsoft.com/Forums/vstudio/en-US/dbd43d7e-f3a6-4087-be06-df17e76b635d/windows-media-player-remoting-in-c?forum=clr 私のブックマークにはありますが、いずれにせよテストしていません。正しい方向への単なる指針です。これは正式なものではなく、少し調べる必要がありますが、Windows Media Player のかなり単純なラッパー (内部では PInvoke を使用しますが、表示されません) を入手する必要があります。

それが役立つことを願っています。

ああ、誤解していました。現在実行中の Windows Media Player インスタンスの制御について話しているのかと思いました。Windows Media Player を自分でホストしている場合は、WMPLib の方が確実に優れたソリューションです。

他のヒント

wmp.dll (\windows\system32\wmp.dll) への参照を追加するだけです。

using WMPLib;

そして、メディアプレーヤーをインスタンス化できます

var Player = new WindowsMediaPlayer();
// Load a playlist or file and then get the title 
var title = Player.controls.currentItem.name;

見る プログラムによる Windows Media Player コントロールの作成 詳細については

Windows Media Player をリモート処理する場合、IWMPRemoteMediaServices インターフェイスを使用してスタンドアロン Windows Media Player を制御できます。そして、WMP プレーヤー オブジェクトからタイトルやファイル名などの必要な情報をすべて読み取ることができるはずです。残念ながら、SDK には C# サンプル コードは含まれていません。ファイルはここから入手できます。 http://d.hatena.ne.jp/punidama/20080227 ファイルを探してくださいwmpremote.zip元々はここからです: http://blogs.msdn.com/ericgu/archive/2005/06/22/431783.aspx

次に、WindowsMediaPlayer オブジェクトにキャストする必要があります。RemotedWindowsMediaPlayer rm = new RemotedWindowsMediaPlayer();WMPLib.WindowsMediaPlayer myPlayer = this.GetOcx() as WMPLib.WindowsMediaPlayer;

そしてそこに行きます..

Windows Media Player の操作に関して私が見た中で最も優れた情報はこれです 記事 スティーヴン・トーブ著。

彼は、dvr-ms ファイルを再生するためのさまざまな方法を大量にリストしています (ただし、このファイルがどのような形式であるかは実際には重要ではありません)。おそらく興味のある部分は、メディア プレーヤー ActiveX コントロールの使用についてです。メディア プレーヤー ActiveX コントロールは、右クリックして Windows Media Player ActiveX COM コントロールを追加することで Visual Studio ツールボックスに追加できます。その後、プレーヤーをアプリに埋め込み、次の URL などのメディア プレーヤーのさまざまなプロパティにアクセスできます。

WMPplayer.URL = stringPathToFile;

この解決策は、(私の知る限り) Media Player の新しいインスタンスを開始するため、おそらくあなたが望むものではありませんが、正しい方向を示すかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top