微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android web浏览器用什么来播放音频流? MediaPlayer还是其他什么?

我有来自在浏览器中播放的特定站点(m.aveamuzik.com)的rtsp音频流.当我尝试使用MediaPlayer类播放相同的流时,我得到MEDIA_ERROR_UNKNowN(额外= -2147483648).该错误没有很好的记录,但一点点谷歌搜索表明,这很可能是因为不支持的媒体格式.

我的问题是,如果MediaPlayer类不支持某种格式,内置浏览器如何播放它?另外,如何在我的代码中使用浏览器使用的相同机制,而不是MediaPlayer类?

编辑1:@Joe

我尝试了以下代码

Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(streamURL));
startActivity(intent);

MX Player和BSPlayer显示为打开文件的选项,但与AudioPreviewActivity无关.实际上这是非常合理的,因为我的URL是rtsp,但AudioPreviewActivity的intent过滤器仅适用于http,文件内容类型的URI.

最佳答案
事实

浏览器具有额外的功能,可以从页面中剥离视频源,并在大多数情况下在本机播放器中启动它.此功能未内置于WebView中,并且本机播放器非常挑剔需要将其作为URI传递到其中以便能够播放它.

它自从Gingerbread在认的android浏览器中起作用.

可能的解释

您可能不像Android浏览器那样使用MediaPlayer.发布一些代码以帮助进一步提供帮助.

进一步帮助

> MediaPlayer在4.0之前有很多错误(修复了很多RTSP错误).
> W3C:link描述的Web Audio API
>以下是Android支持的所有媒体格式和协议的详细列表:link
>测试页面link
>这篇完整的博客文章也帮助我了解Android的媒体流:link

原文地址:https://www.jb51.cc/android/430720.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐