概要
動画再生を行うには、Microsoft.Phone.Tasks名前空間のMediaPlayerLauncherクラスを使用します。URLを渡すとストリーミング再生や、アプリケーションと同じディレクトリにある動画ファイルや、分離ストレージ(IsolatedStorage)に保存している動画ファイルの再生を行うことが出来ます。
- 名前空間:Microsoft.Phone.Tasks
System.Object
+–Microsoft.Phone.Tasks.MediaPlayerLauncher
Tips
- ローカルストレージのwmvファイルを再生する
MediaのURLを設定した後は、MediaPlayerLauncherを表示するには、 Showメソッドを使用します。
まず、最初にhttpスキームのネットワーク上にある動画ファイルを再生する方法についてご紹介します。
|cs| var movieUrl = new Uri("http://support.microsoft.com/support/mediaplayer/wmptest/samples/new/mediaexample.wmv");
var task = new Microsoft.Phone.Tasks.MediaPlayerLauncher()
{
Controls = MediaPlaybackControls.All,
Location = MediaLocationType.None,
Media = movieUrl
};
task.Show();
||<
上記のコードを実行してみました。Windows Phone エミュレータの頃からですが、エミュレータ上では再生が上手くいきませんでした。実機では問題無く再生が行えています。
次に、コンテンツとしてxapに動画ファイルを含んでいる際の、動画再生する方法をご紹介します。LocationプロパティにMediaLocationType.Install
を設定してください。
|cs| var task = new Microsoft.Phone.Tasks.MediaPlayerLauncher() { Media = new Uri("filename.wmv", UriKind.Relative), Location = MediaLocationType.None }; task.Show(); ||<
分離ストレージに保存した動画ファイルを閲覧する際には、LocationプロパティにMediaLocationType.Dataを設定します。
- Microsoftのサイトに置かれているサンプルのwmvファイルを再生させる
MediaPlayerを操作する事が出来ます。
ちなみにサンプルのWMVは、MSのサイト(http://support.microsoft.com/kb/316992/ja)から拝借。
|cs| private void btnMediaPlayerLauncher_Click(object sender, RoutedEventArgs e) { var task = new Microsoft.Phone.Tasks.MediaPlayerLauncher() { Media = new Uri(@"http://support.microsoft.com/support/mediaplayer/wmptest/samples/new/mediaexample.wmv"), Controls = Microsoft.Phone.Tasks.MediaPlaybackControls.All }; task.Show(); } ||<
動かしてみました。動画とコントロール部分が何故か同時に表示できない現象が発生していたけど、なんとか表示されているみたいです。(ノートPCだからオーバーレイがちゃんと映ってないっぽい?)
参照
http://msdn.microsoft.com/en-us/library/microsoft.phone.tasks.MediaPlayerLauncher%28VS.92%29.aspx