1

次のような簡単なコードを書きました。

VideoView v = (VideoView) findViewById(R.id.videoView);
MediaController mc = new MediaController(this);
mc.setAnchorView(v);
mc.setMediaPlayer(v);
v.setMediaController(mc);
v.setVideoPath("/sdcard/media/video/1.avi");
v.start();

私の問題は、このコード .avi ファイルがまったく再生できないことです。Logcat は次の文字列を表示します: AudioFlinger: 書き込みが 209 ミリ秒ブロックされ、書き込みが 11 回遅延し、スレッド 0x15440 MP3Extractor: 再同期できません。ストリームの終了を通知します。

正しくない場合、avi ファイルを再生する方法を教えてください。

PS はい、avi は Android ではデフォルトでサポートされていないことは知っていますが、それを再生できるプレーヤーもたくさん知っています。

4

1 に答える 1

8

基盤となるハードウェアに AVI デマルチプレクサがあり、デバイスがハードウェアによって提供される既定のプレーヤーを使用して .avi ファイルを再生できる場合、コードは機能するはずです。

しかし、自己完結型で avi ファイルを再生できるアプリケーションを構築したい場合は、上記のコードでは実行できません。

基本的に、独自のメディア デマルチプレクサと AV コーデックを備えた独自のメディア プレーヤーを構築する必要があります。たとえば、Android の「moboplayer」はオープンソース コーデック ffmpeg を使用します。

これがあなたの質問に答えることを願っています..

于 2011-05-19T10:32:32.407 に答える