首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在安卓上玩m3u8?

如何在安卓上玩m3u8?
EN

Stack Overflow用户
提问于 2011-06-01 17:27:35
回答 4查看 61.6K关注 0票数 9

据我所知,Android3.0和更高版本能够播放广播流媒体m3u8 - http://developer.android.com/guide/appendix/media-formats.html

我将这个链接- http://content.mobile-tv.sky.com/content/ssna/live/ssnraudio.m3u8放到MediaPlayer中,但在LogCat中我得到:

代码语言:javascript
复制
06-01 09:04:44.287: INFO/LiveSession(33): onConnect 'http://content.mobile-tv.sky.com/content/ssna/live/ssnraudio.m3u8'
06-01 09:04:44.287: INFO/NuHTTPDataSource(33): connect to content.mobile-tv.sky.com:80/content/ssna/live/ssnraudio.m3u8 @0
06-01 09:04:44.747: INFO/NuHTTPDataSource(33): connect to content.mobile-tv.sky.com:80/content/ssna/live/ssnraudio.m3u8 @0
06-01 09:04:45.019: INFO/NuHTTPDataSource(33): connect to content.mobile-tv.sky.com:80/content/ssna/live/ssnraudio/ssnr_052311_071632_78731.aac @0
**06-01 09:04:45.817: ERROR/LiveSession(33): This doesn't look like a transport stream...**
06-01 09:04:45.967: INFO/HTTPLiveSource(33): input data EOS reached.

这是我的源代码:

代码语言:javascript
复制
    mp = new MediaPlayer();        
    start.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub              
            try {

                mp.setDataSource("http://content.mobile-tv.sky.com/content/ssna/live/ssnraudio.m3u8");
                mp.prepare();
                mp.start();

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
        }
    });

    stop.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            try {

                mp.stop(); 
                mp.reset();

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
        }
    });
}
EN

回答 4

Stack Overflow用户

发布于 2011-08-25 10:34:47

遵循以下链接:http://code.google.com/p/android/issues/detail?id=14646

->

http://code.google.com/p/android/issues/detail?id=16884

->

http://code.google.com/p/android/issues/detail?id=17118

(ARGGGGH!)

最后给出了答案:

基本上在Android v2.3和v3.0中,使用非标准的httplive://方案,在3.1中使用http://,但在媒体框架中调用相关方法时需要一些代码。

票数 5
EN

Stack Overflow用户

发布于 2015-12-22 12:17:10

试试ExoMedia,流媒体就像这样简单:

代码语言:javascript
复制
emVideoView.setVideoURI(Uri.parse("https://archive.org/download/Popeye_forPresident/Popeye_forPresident_512kb.mp4"));

我和m3u8合作得很好。

票数 5
EN

Stack Overflow用户

发布于 2011-08-22 01:05:42

也许你可以试试Vitamio插件,http://vov.io/vitamio/

Vitamio是一个适用于所有Android设备的多媒体框架。Vitamio的工作原理类似于安卓系统的默认MediaPlayer,只不过它包含了更强大的功能。而且它是完全免费的!网络协议

音视频播放支持以下网络协议:

代码语言:javascript
复制
MMS
RTSP (RTP, SDP)
HTTP progressive streaming
HTTP live streaming (M3U8), for Android 2.1+
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6198995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档