WebViewからバックグラウンドでオーディオを再生しようとしています。このオーディオはURLで与えられます。私はURLの読み込みをオーバーライドすることでこれに近づいた。そして、それはオーディオの再生を開始しますが、何度もMedia Playerが停止します。これは30%前後で発生し、このオーディオファイルは30秒を超えることはありません。MediaPlayerでオーディオが正しく再生されない
私はMP3、OGG、WAVで試してみましたが、いずれかの場合に発生しました。
私はまた、ファイルをダウンロードしてからストリーミングする代わりに再生しましたが、どちらも動作しませんでした。
これはコードの部分...それがどのように動作するかを示すことです:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.endsWith(".ogg")){
AudioLoader audioLoader = new AudioLoader(url);
audioLoader.start();
return true;
}
else if (url.endsWith(".wav")){
Uri tempPath = Uri.parse(url);
MediaPlayer player = MediaPlayer.create(interfazWeb, tempPath);
if (player != null){
player.start();
} else {
Log.e(TAG, "No se puede abrir el audio:" + url);
}
return true;
}
else if (url.endsWith(".mp3")){
AudioLoader audioLoader = new AudioLoader(url);
audioLoader.start();
return true;
}else{
return super.shouldOverrideUrlLoading(view, url);
}
}
私は「AudioLoader」で保存した音声ファイルをチェックしましたし、それは完全に罰金です。そして、WAVのケースでは、私の最初の試合を使用して、ストリーミングで演奏します。
SoundPoolとAsyncPlayerも試してみました。
これまでのところ、私は通信、コーデック、またはバッファの問題はないと思います。私の唯一のヒントは、問題がすべての形式とすべてのアプローチで、たまたまTHAたびに繰り返されるため、これらのログエントリ、以下のとおりです。
12-31 09:41:49.284: WARN/AudioFlinger(59): write blocked for 160 msecs, 20 delayed writes, thread 0xd7a8
12-31 09:41:49.554: WARN/TimedEventQueue(59): Event 6 was not found in the queue, already cancelled?
誰もがいくつかの手掛かりを持ってくださいますか?または、私はバグ/ミスの直面している。 P
よろしく、マヌエルを:
は、あなたが私を助けることができるしている特別な場合には、幸せな2011年を持っています。
ヒュムは、面白そう、私は月曜日、グラシアスイエスにしようとします! – mdelolmo
これは私がここに来たときに最初に試したことです... 20分前、そしてこれまでのところ完全に動作するようです!ありがとう。 – mdelolmo
あなたはようこそ! –