Воспроизведение видеофайла m4v в фоновом режиме, т.е. только звук

Я пытаюсь воспроизвести аудио файлы m4v в фоновом режиме.

Я попытался использовать SoundPool, и он выдает ошибку при загрузке из необработанной папки.

я использовал этот пример программы.

10-27 11:49:11.684: ERROR/AndroidRuntime(1484): Caused by: android.content.res.Resources$NotFoundException: File Hello World, AudioPlayerActivity! from drawable resource ID #0x7f040000
10-27 11:49:11.684: ERROR/AndroidRuntime(1484):     at android.content.res.Resources.openRawResourceFd(Resources.java:860)
10-27 11:49:11.684: ERROR/AndroidRuntime(1484):     at   android.media.SoundPool.load(SoundPool.java:204)
10-27 11:49:11.684: ERROR/AndroidRuntime(1484):     at com.sample.audio.AudioPlayerActivity.onCreate(AudioPlayerActivity.java:31)
10-27 11:49:11.684: ERROR/AndroidRuntime(1484):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
10-27 11:49:11.684: ERROR/AndroidRuntime(1484):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
10-27 11:49:11.684: ERROR/AndroidRuntime(1484):     ... 11 more

Но я могу воспроизвести файл с помощью VideoView, но мне нужен только звук.

Я не знаю, как воспроизвести файл m4v в звуковом пуле или каким-то образом мне нужно воспроизвести его в фоновом режиме. Как этого добиться?

Заранее спасибо.


person Hussain    schedule 27.10.2011    source источник


Ответы (1)


Прежде всего взгляните на страницу поддерживаемые форматы мультимедиа. Я не вижу формат m4v, но если он работает с вами, смотрите ниже.

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

Напоследок могу предложить вам решение с VideoView (раз уж вы говорите, что видео работает). В вашем main.xml поместите это, чтобы сослаться на ваш VideoView

<VideoView
   android:id="@+id/video"
   android:layout_width="0.1px"
   android:layout_height="0.1px">
</VideoView>

И используйте этот код в своем методе onCreate своей деятельности:

String uri = "android.resource://" + getPackageName() + "/" + R.raw.videoname;
VideoView video = (VideoView) findViewById(R.id.video);
video.setVideoURI(Uri.parse(uri));
video.start();

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

person Baduel    schedule 02.11.2011