2012-12-19 31 views
2

我一直在尝试使用HLS来将视频流式传输到Android设备,这是自HoneyComb以来正式支持的。问题是,当我使用Apple HLS测试流时,似乎没有适应性。当我有一个良好的连接,我得到一个合适的高质量的流,但是当我使用3G时,我得到相同的质量和流延迟。我已经使用了标准的Android类这是:HTTP Live Streaming(HLS)在Android 4上不适应?

String Url = AppleUrl = "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"; 
MediaController mMediaController = new MediaController(this); 
VideoView mVideoView = (VideoView) findViewById(R.id.vid); 
mVideoView.setVideoPath(Url); 
mVideoView.setMediaController(mMediaController); 
mVideoView.setOnPreparedListener(new OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
     mp.start(); 
    } 
}); 

当使用VLC我得到相同的结果,已经有人测试Android是否真的支持HLS流的适应性?

UPDATE

更新流URL到多轨M3U8播放列表

回答

3

因此,事实证明Android确实支持HLS流,但是自适应比特率切换部分被省略了。一旦连接变得更好或更糟,并选择了不同的视频轨道,流将冻结,并在此之后应用程序崩溃。

+1

在Android 4.4.2上,使用[此HLS流](http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8)时,电影会在选择备用音轨时重新开始。 – fionbio