0

サーバーからダウンロードしたビデオを表示する必要があるアプリを作成しています。ただし、一部のビデオでは、Gingerbread ではエラーが発生するだけで、Jelly Bean では問題なく動作します。

File f = new File(file);
// Tried to set source with the absolute path (file)
mPlayer.setDataSource(ParcelFileDescriptor.open(f, ParcelFileDescriptor.MODE_READ_ONLY).getFileDescriptor());
// holder is the surfaceholder for the SurfaceView
mPlayer.setDisplay(holder);
mPlayer.prepare();

私は古い Samsung、Emulator、古い Sony Ericsson でビデオをテストしました。一部の電話はビデオを再生でき、他の電話は再生できませんでした。

ビデオを Quicktime 形式 (.mov) で受け取り、使用しました

ffmpeg -i file.mov -vcodec copy -acodec copy file.mp4

すべてのビデオで、Android が理解できる MPEG-4 を取得します。これが、一部のビデオが機能し、他のビデオが機能しないという混乱を招く理由です。

ビデオは次の場所にダウンロードされます

context.getExternalFilesDir(null).getAbsolutePath() + "/path/to/videos/";

sha1sum をチェックして、ダウンロードがうまくいったことを確認します。

私が得るエラーはさまざまです。

エミュレーターで MediaPlayer エラー (1, -2147483648) が発生し、Samsung デバイスで MediaPlayer エラー (1, -15) が発生します。

では、どうすればビデオを再生できますか?

4

0 に答える 0