2011-10-27 13 views
0

m4vファイルのオーディオをバックグラウンドで再生しようとしています。m4vのビデオファイルをバックグラウンドで再生します。つまり、音声のみです。

SoundPoolを試してみましたが、生のフォルダから読み込み中にエラーが出ます。

私はこれを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 

が、私はVideoViewを使用してファイルを再生することができますが、私は音声のみを必要としています。

サウンドプールでm4vファイルを再生する方法や、バックグラウンドで再生する必要がある方法はわかりません。 これを達成するには?

ありがとうございます。

答えて

0

まずはsupported media formatsページをご覧ください。私はm4v形式を見ていないが、それがあなたと一緒に動作する場合は、以下を参照してください。

私はSoundPoolの使い方がわかりませんが、使用したい場合は、エンコーダでビデオからサポートされているオーディオフォーマットを推定することをお勧めします。

最後に、VideoViewで解決策を提案することができます(ビデオが動作すると言っているので)。私はそれを自分自身を試してみたし、それが動作

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

:あなたのmain.xmlであなたのVideoView

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

を参照してください。そして、あなたの活動のあなたのonCreate方法でこのコードを使用するためにこれを置きます。私はこれがであることを知っていますバックグラウンドでオーディオを取得する方法が他の解決策がない場合は、これで十分ですと思います。

関連する問題