Android VideoView не может играть.avi
Я написал простой код, подобный этому:
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 по умолчанию, но я также знаю много игроков, которые могут играть в нее.
1 ответ
Ваш код должен работать, если базовое оборудование имеет демультиплексор AVI, и устройство способно воспроизводить файлы.avi с помощью проигрывателя по умолчанию, предоставляемого этим оборудованием.
Но если вы хотите создать приложение, которое является автономным и способно воспроизводить AVI-файлы, вы не сможете использовать приведенный выше код.
По сути, вам придется создать свой собственный медиаплеер, который имеет свой собственный демультиплексор мультимедиа и AV-кодеки... например, "moboplayer" на Android использует кодек с открытым исходным кодом ffmpeg.
Надеюсь, что это ответ на ваш вопрос..