Android VideoView не может играть .avi

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 файлы, если это не правильно.

P.S. Да, я знаю, что avi по умолчанию не поддерживается на андроиде, но я также знаю много игроков, которые могут его воспроизвести.

Теги:
video
avi

1 ответ

8
Лучший ответ

Ваш код должен работать, если в базовом оборудовании есть демон-устройство AVI, и устройство способно воспроизводить файлы .avi, используя проигрыватель по умолчанию, предоставляемый аппаратным обеспечением.

Но если вы хотите создать приложение, которое является автономным и способным воспроизводить файлы avi, вы не сможете сделать это с помощью вышеуказанного кода.

В принципе, вам придется создать собственный медиаплеер, у которого есть собственный мультимедийный демультиплексор и AV-кодеки. Например, "moboplayer" на android использует кодек ffmpeg с открытым исходным кодом.

Надеюсь, это ответит на ваш вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню