.NET Windows Media Player ライブラリを使用して、Windows Media Player のさまざまなファイル プロパティ (ユーザー評価など) をプログラムで取得および変更することができました。Player.openPlayer(url)
同じライブラリを使用して、呼び出しを通じて Windows Media Player インスタンスを制御 (再生、停止、次へなど) したいと考えています。理論的には、これは Player.controls オブジェクトを介して非常に可能であるはずですが、アクセスしようとすると、どのコントロールも使用できません。コントロール オブジェクトを除いて、ほぼすべての Player プロパティ/メソッド/イベントを使用できます。私が試したことを説明するためのサンプルコードを次に示します。
import clr
clr.AddReferenceToFile( "Interop.WMPLib.dll" )
from Interop.WMPLib import WindowsMediaPlayerClass
wmp = WindowsMediaPlayerClass()
wmp.openPlayer(r"C:\Users\Public\Music\Sample Music\Kalimba.mp3")
これはうまくいきますが、次のようにすると:
print wmp.controls.isAvailable("play").ToString()
print wmp.controls.isAvailable("pause").ToString()
print wmp.controls.isAvailable("stop").ToString()
...
コントロールごとに false になります。これらのコントロールが (単純な) アプリケーションで使用できないのはなぜですか? 私はおそらくこれについて間違った方法で進んでいますか?私は WMP 12 を使用しているので、互換性があるはずです。別の API を使用したくないのですが、現時点では何でも試してみたいと思っています。
参照用のドキュメントは次のとおりです。 http://msdn.microsoft.com/en-us/library/dd564034%28v=vs.85%29.aspx
編集:クイックフィックスは今のところ保持されていますが、実際の解決策はまだ見つかっていません.