« Matroska のファイル構造 | メイン | ドット絵の拡大 »

2012年09月22日

Android:: 動画再生でサーバーエラーが出る場合の対処

    

端末によって、動画再生を開始すると MEDIA_ERROR_SERVER_DIED ( MediaPlayer error (100, 0) ) が発生して動画が再生出来ないことがある。

FileInputStream fis = new FileInputStream(path);
mMediaPlayer.setDataSource(fis.getFD());

このような形でファイルデスクリプタを指定して再生開始すると端末によっては動画フォーマット次第で発生する。
これを URI 指定にすると対応度が上がるようだ。
つまり、以下のように指定する。

mMediaPlayer.setDataSource( getBaseContext(), Uri.parse("file://" + path) );

ファイルデスクリプタ + offset + length 指定している時はどうしようもないが、そうでないのなら URI での指定にした方が再生出来る率が高いようだ。
これは端末の不具合のような気もするが、こういう振る舞いをする端末がある以上対処するのは仕方ない。



投稿者 Takenori : 2012年09月22日 16:51




comments powered by Disqus
Total : Today : Yesterday : なかのひと