我在浏览器中播放来自特定网站(m.aveamuzik.com)的rtsp音频流。当我尝试使用MediaPlayer
类播放相同的流时,我得到MEDIA_ERROR_UNKNOWN
(使用extra = -2147483648
)。该错误没有得到很好的记录,但有点谷歌搜索显示,这很可能是因为不支持的媒体格式。
我的问题是,如果MediaPlayer
类不支持某种格式,内置浏览器如何播放它?另外,如何在我的代码中使用浏览器使用的相同机制,而不是MediaPlayer
类?
编辑1: @Joe
我尝试了以下代码:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(streamURL));
startActivity(intent);
MX Player 和 BSPlayer 显示为打开文件的选项,但不显示与AudioPreviewActivity
相关的任何内容。实际上这是非常合理的,因为我的网址是rtsp
,但AudioPreviewActivity
的意图过滤器仅适用于http
,file
和content
类型的URI。< / p>
答案 0 :(得分:3)
<强>事实强>
浏览器具有额外的功能,可以从页面中剥离视频源,并在大多数情况下在本机播放器中启动它。此功能未内置于WebView中,并且本机播放器非常挑剔需要传递给它的URI才能播放它。
自从Gingerbread出现在默认的android浏览器中它就可以了。
可能的解释
您可能不会像Android浏览器那样使用MediaPlayer
。发布一些代码以帮助进一步提供帮助。
进一步的帮助
答案 1 :(得分:1)
如果它在浏览器中播放时看起来像the screenshot on this other question,那么它应该是音乐应用中的AudioPreview活动。
你应该能够
只需使用与the manifest中的某个IntentFilter匹配的Intent调用startActivity()
即可启动它。