エバンジェリスト高橋です。
相談科にご質問をいただいたのでご紹介します。みなさんも開発で悩んだらhttp://aka.ms/8clinic までご相談ください。
相談内容:
ビデオカメラで撮影した動画ファイルを再生するアプリを作っています。開発環境では正しく動作し、アプリも公開しましたが、Windows RTの環境で動画が再生できないとの報告を受けました。開発環境でのシミュレーターでは正しく動作していることを確認しています。
そこで確認させてください。
1.Windows RT 標準のビデオ再生とプログラムのコード(C#) MediaElement で再生できる出来るビデオフォーマットに違いは有りますか?
2.開発環境のシミュレータは OS:Windows RT(CPU:arm) の仕様で実行させること記憶していますが、CPU:NVIDIA Tegra 3 とでの違いはあるのでしょうか?
3.シミュレータを CPU:NVIDIA Tegra 3 で起動することは出来ますか?
なるほど、シミュレーターについては、勘違いされている方も意外にいたりします。今回のものはまさにそれですね。
解答:
さて、では回答です。
1.Windows RT 標準のビデオ再生とプログラムのコード(C#) MediaElement で再生できる出来るビデオフォーマットに違いは有りますか?
ストアアプリケーションでもアプリケーションで独自にコーデックを実装することができます。ですので、(ストアアプリとして)標準で用意されているビデオ再生とMediaElementで再生可能なフォーマットに違いがある可能性はあります。
なお、MediaElement で対応しているフォーマットについては以下のサイトにまとめてあります。
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh986969.aspx
2.開発環境のシミュレータは OS:Windows RT(CPU:arm) の仕様で実行させること記憶していますが、CPU:NVIDIA Tegra 3 とでの違いはあるのでしょうか?
シミュレーターはあくまでもローカルマシンへのデスクトップ接続であるため、仮想マシンではございません。
3.シミュレータを CPU:NVIDIA Tegra 3 で起動することは出来ますか?
したがってその環境は動作環境のOSを踏襲しております。(CPUのエミュレーションを行うことはできません)もしWindows RT環境での検証を行う場合には、別途Windows RT機をご用意いただきリモートデバッグで検証を行う必要があります。
一見完全な仮想環境のように見えますが、基本的に Windows 8 のシミュレーターは開発環境の仕様そのものです。解像度やデバイスの縦横、位置情報だけをシミュレートできるものだと考えたほうが良いでしょう。
募集中:
また開発で悩んだら http://aka.ms/8clinic までご相談ください。