9

スタンドアロンのフル バージョンの Windows Media Player と対話する方法を探しています。
ほとんどの場合、現在再生されているトラックのパスを知る必要があります。

iTunes SDK はこれを非常に簡単にしますが、残念ながら Windows Media Player でそれを行う方法はありません。

ありがとう

明確にするために: アプリに Windows Media Player の新しいインスタンスを埋め込みたくはありませんが、代わりに、ユーザーが個別に開始した Windows Media Player の「実際の」フル バージョンを制御/読み取ります。

4

4 に答える 4

7

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 コントロールの作成を参照してください。

于 2008-09-11T13:09:23.347 に答える
5

Windows Media Player をリモート処理する場合、IWMPRemoteMediaServices インターフェイスを使用して、スタンドアロンの Windows Media Player を制御できます。また、タイトルやファイル名など、必要なすべての情報を WMP プレーヤー オブジェクトから読み取ることができるはずです。残念ながら、付属の SDK には C# のサンプル コードはありません。ここからファイルを取得できます: http://d.hatena.ne.jp/puidama/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;

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

于 2009-04-19T04:47:17.883 に答える
4

私はこれを持っていましたブックマークがありますが、とにかくテストしていません。正しい方向への単なるポインタ。これは公式なものではなく、少し掘り下げる必要がありますが、Windows Media Player のかなり単純なラッパー (フードの下で PInvoke を引き続き使用しますが、表示されません) を取得する必要があります。

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

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

于 2008-09-11T13:08:26.377 に答える
1

Windows Media Player の操作に関して私が見た中で最も優れた情報は、Stephen Toub によって書かれたこの記事です。

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

WMPplayer.URL = stringPathToFile;

このソリューションは、(私の知る限り) Media Player の新しいインスタンスを開始しているため、おそらくあなたが望むものではありませんが、正しい方向に向けられる可能性があります。

于 2008-09-11T13:17:24.937 に答える