【发布时间】:2010-12-31 08:56:36
【问题描述】:
我正在尝试从 WebView 在后台播放音频。此音频由 URL 提供。我通过覆盖 url 加载来解决这个问题。它开始播放音频,但很多时候媒体播放器只是停止。大约 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
问候,曼努埃尔。
【问题讨论】:
标签: android media-player