Я пытаюсь воспроизвести аудио в фоновом режиме из WebView.Это аудио дается по URL.Я подошел к этому, переопределив загрузку URL.И он начинает воспроизводить аудио, но много раз Media Player просто останавливается.Это происходит примерно в 30% случаев, и эти аудиофайлы никогда не превышают 30 секунд.
Я пробовал с 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 ... ничего не работает !!
Так что ... пока я не думаюэто проблема связи, кодека или буфера.Мои единственные советы - эти записи в журнале, которые повторяются каждый раз, когда возникает проблема, со всеми форматами и всеми подходами:
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?
Кто-нибудь, пожалуйста, есть некоторую подсказку?Или я просто сталкиваюсь с ошибкой / ошибкой.
Счастливого 2011 года, особенно если вы можете мне помочь: P
С уважением, Мануэль.