我对此有些困惑。
搜索并找到了有关如何使用MMS协议(protocol)流式传输音频和视频的主题,但我想从中收听,形式为 ANDROID (像 radio 客户端一样,在这种情况下,仅需要音频)。

我的目标网址是: mms://stream.radio.com.pt/ROLI-ENC-452
(上面的URL起作用。但是请确保,我已经将其复制/粘贴到了Firefox浏览器中,然后它要求一个播放器“Widows Media Player”或“VLC”,并且两者都像一个饰物。也可以尝试。)

1)我尝试了以下代码:(使用MediaPlayer-,结果是:静默,什么也没有发生)

String target = "mms://stream.radio.com.pt/ROLI-ENC-452";
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(target);
mp.prepare();
mp.start();

2)和以下代码:(使用MediaPlayer-,结果是:崩溃-空指针异常)

Uri target = Uri.parse("mms://stream.radio.com.pt/ROLI-ENC-452");
MediaPlayer.create(context, target).start();

注意:所有 Activity 和Internet权限都在“AndroidManifest.xml”中注册。

问题:我在使用MMS协议(protocol)的MediaPlayer的正确路径上吗?...如果是,我在做什么错?
(我知道MediaPlayer处理HTTP和RTSP协议(protocol),不确定MMS)

最佳答案

解决方案:(排序)好,在尝试了很多代码之后,在附近尝试了一堆东西之后,发布在许多论坛上,我的简历是:

事实: MediaPlayer不能本机处理 mms 协议(protocol)。
a)支持的格式:http://developer.android.com/guide/appendix/media-formats.html
b)不建议使用MMS:http://en.wikipedia.org/wiki/Microsoft_Media_Server

一个选项:我可以去“Vitamio”库。 (正如我所看到的,很多人都寻求这种解决方案)

我的决定:我选择了“ .pls ”和“ .acc ”文件,因为它们与MediaPlayer兼容。现代音频压缩和编码方案,具有更好的音频质量。而且(对我而言,最重要的是)代码变得与以下示例中的代码一样简单:

// Both urls for audio stream (radio):
// Try this as an "PLS" example: http://tsf.pt/emdirecto.pls
// Try this as an "AAC" example: http://euronews-02.ice.infomaniak.ch/euronews-02.aac

VideoView vv = (VideoView) findViewById(R.id.myVideoView); // In a layout xml file
MediaController mc = new MediaController(context){};

Uri path = Uri.parse("http://euronews-02.ice.infomaniak.ch/euronews-02.aac");
vv.setMediaController(mc);
vv.setVideoURI(path);
vv.requestFocus();
vv.start();

希望这也可以给失去“沉默”的人一个“哔哔”的声音...;)

关于audio - MMS流( radio 客户端-仅音频),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20730302/

10-12 21:34