我正在尝试在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 0xd7a812-31 09:41:49.554: WARN/TimedEventQueue(59): Event 6 was not found in the queue, already cancelled?
请问有人有线索吗?或者我只是面临一个错误/缺失功能.
祝您2011年愉快,特别是如果您能够帮助我:P
问候,曼努埃尔.
解决方法:
您正在以本地方式创建audioLoader和/或MediaPlayer对象(这些对象是功能shouldOverrIDeUrlLoading的本地对象).因此,一旦退出该功能,当垃圾收集器尝试收集所有未引用的对象时,它将破坏您的对象,然后声音将停止.
尝试将AudioLoader和MediaPlayer对象声明为全局对象:
private AudioLoader audioLoader; private MediaPlayer player; public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, String url) { if (url.endsWith(".ogg")){ audioLoader = new AudioLoader(url); audioLoader.start(); return true; } else if (url.endsWith(".wav")){ Uri tempPath = Uri.parse(url); 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 = new AudioLoader(url); audioLoader.start(); return true; }else{ return super.shouldOverrIDeUrlLoading(vIEw, url); } }
总结 以上是内存溢出为你收集整理的android-MediaPlayer无法正确播放音频全部内容,希望文章能够帮你解决android-MediaPlayer无法正确播放音频所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)