モーションセンサーとShareStatusTask、MediaPlayerLauncherを使う

MediaPLayerLauncherを使って動画を再生する
[MediaPlayerLauncher起動]ボタンをクリックすると、メディアプレーヤーが起動し動画が再生されます。このMediaPlayerLauncherはエミュレーター上では音声だけが再生され、動画の再生はできませんでした。しかし、実機(IS12T)にデプロイした状態で実行すると、動画や音声が再生されます。再生されている動画をタップするとコントロールパネルが表示され、「休止」、「再生」、「早送り」、「巻き戻し」等が可能になります(図5)。
図5:メディアプレーヤーが起動し動画が再生されている(クリックで拡大) |
動画は下記です。
※実際には音声が入っているのですが、この動画を撮影しているカメラに録音機能が付いていないため、音声は入っていません。
サンプル一式は、会員限定特典としてダウンロードできます。記事末尾をご確認ください。
プロジェクトの作成
VS 2010のメニューから[ファイル(F)/新規作成(N)/プロジェクト(P)]を選択します。次に、「Windows Phoneアプリケーション」を選択して、「名前(N)」に任意のプロジェクト名を指定します。ここでは「WP71_ MediaPlayerLauncher」という名前を付けています。Windows Phoneのバージョンは7.1を選択します。ソリューションエクスプローラー内にWMVというフォルダを作成して動画を追加しています。ダウンロードされたサンプルには動画ファイルは追加済みです
MainPage.xamlの編集とコントロールの追加
x:NameがPageTitleというTextBlockのTextプロパティに「MediaPlayerLauncher」と指定します。Style
属性を削除して、FontSize、Foreground、FontWeightプロパティを設定しています。
ツールボックスからデザイン画面上に、Buttonコントロールを1個配置します。ButtonコントロールのContentプロパティには、「MediaPlayerLauncher起動」と指定します(図6)。
図6:Buttonコントロールを1個配置した(クリックで拡大) |
日本語表示設定
「ShareStatusTaskを使ってSNSでステータスを共有する」を参照してください。
書き出されるXAMLコードは省略します。
次に、MainPage.xamlを展開して表示される、MainPage.xaml.vbをダブルクリックしてリスト4のコードを記述します。
ロジックコードを記述する
リスト4 (MainPage.xaml.vb)
Option Strict On ランチャーやチューザーに関するクラスの含まれる、Microsoft.Phone.Tasks名前空間をインポートします。 Imports Microsoft.Phone.Tasks Partial Public Class MainPage Inherits PhoneApplicationPage ' コンストラクター Public Sub New() InitializeComponent() End Sub
[MediaPlayerLauncher起動]ボタンをクリックした時の処理
新しいMediaPlayerLauncherのインスタンス、mediaPlayerTaskオブジェクトを生成します。 LocationプロパティにMediaLocationType.Installを指定します。これは、コンテンツとしてxapに動画ファイルが含まれている場合、つまりメディアファイルがアプリケーションのインストールディスクにある場合の動画を再生する方法です。分離ストレージにある場合は、MediaLocationType.Dataと指定します。 Controlsプロパティにはメディアプレーヤーに表示するコントロールを指定します。MediaPlaybackControls.Allと指定して、すべてのコントロールパネルが表示されます。 Mediaプロパティには、メディアプレーヤーアプリケーションの再生メディアを指定します。ここでは、WMVフォルダ内の、dougo320.wmvファイルを相対URIで指定しています。Showメソッドで実行します。 Private Sub Button1_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click Dim mediaPlayerTask As New MediaPlayerLauncher With mediaPlayerTask .Location = MediaLocationType.Install .Controls = MediaPlaybackControls.All .Media = New Uri("WMV/dougo320.wmv", UriKind.Relative) End With mediaPlayerTask.Show() End Sub End Class
「モーションセンサーを使って画像の向きを変える」サンプルプログラム
「ShareStatusTaskを使ってSNSでステータスを共有する」サンプルプログラム