MediaPlayerLauncherを使って動画を再生する

動画再生を行うには、Microsoft.Phone.Tasks名前空間のMediaPlayerLauncherクラスを使用します。URLを渡すとストリーミング再生や、アプリケーションと同じディレクトリにある動画ファイルや、分離ストレージ(IsolatedStorage)に保存している動画ファイルの再生を行うことが出来ます。

MediaのURLを設定した後は、MediaPlayerLauncherを表示するには、 Showメソッドを使用します。

まず、最初にhttpスキームのネットワーク上にある動画ファイルを再生する方法についてご紹介します。

    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を設定してください。

    var task = new Microsoft.Phone.Tasks.MediaPlayerLauncher()
                   {
                       Media = new Uri("filename.wmv", UriKind.Relative),
                       Location = MediaLocationType.None
                   };
    task.Show();

分離ストレージに保存した動画ファイルを閲覧する際には、LocationプロパティにMediaLocationType.Dataを設定します。