Im trying to play a m4v files audio alone in the background.

I tried using SoundPool and it is giving me error while loading it from the raw folder.

i used this sample program.

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

But i can able to play the file using VideoView but i need only audio.

I dont know how to play the m4v file in the soundpool or some way i need to play in the background. How to achieve that?

Thanks in advance.

有帮助吗?

解决方案

First of all take a look at supported media formats page. I've not see m4v format but if it works with you see below.

I don't know how to use SoundPool but if you want to use it I suggest you to extrapolate a supported audio format from your video with an encoder.

Finally I can suggest you a solution with VideoView (since you say that the video works). In your main.xml put this to refer your VideoView

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

And use this code in your onCreate method of your Activity:

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

I've tried it myself and it works. I know that this is a bad way to get the audio in background but if you haven't any other solution I think that this is sufficient.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top