酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Zuneに接続されているかどうかを判定する

Windows Phone Advent Calendar "ひとり" 2011」第16日目です。 (遅延実行中です)

Zuneに接続されている場合等、メディア系APIが使えません(CameraCaptureTask等)。 明確な判定方法は無いのですが、一応以下の方法で判定が出来ます。

|cs| var task = new CameraCaptureTask(); Observable.FromEvent(task, "Completed") .Select(arg => arg.EventArgs) .Subscribe(arg => { if (arg.TaskResult == TaskResult.OK && arg.ChosenPhoto != null) { // カメラ撮影完了 } else if (arg.TaskResult == TaskResult.Cancel && arg.Error == null) { // ユーザーがBackキーを押下で戻ってきた } else / if (arg.TaskResult == TaskResult.Cancel && arg.Error != null) / { // Zune等が接続されておりメディア系APIが使用出来なかった MessageBox.Show("Error"); } }); task.Show(); ||<