なにげに Windows Phone の MediaElement は拡張子を見る。


MediaElement にファイルを指定する場合、

this._media.Source = new Uri(“http://mimumimu.net/hello.mp4”);

だったり、

var stream = new IsolatedStorageFileStream(“hoge.mp4”,FileMode.Open,IsolatedStorageFile.GetUserStoreForApplication());
this._media.SetSource(stream);

なんていう方法をとるわけですが、

ここで、一部の形式のファイルに関しては、拡張子を見てファイル形式を判定するようで、
特に mp4 の場合、拡張子の最後が .mp4 でないと、動いてくれません。

もちろんこれは、 Source = new Uri(); とする場合はもちろんのこと、
SetSource(); する場合でも、拡張子を参照するようです。

ブレークポイントを設定して眺めてみますと、
image

ってことで、ばっちりファイルパスが格納されてますし、
Name プロパティで取得出来るので、絶対判断基準に使ってます。

ってことで、Windows Phone 7 で MediaElement が絶対対応している形式なのに、
読んでくれないっていうことがあれば、拡張子が原因の可能性があります。 ということで。


 

関連記事