Android播放HLS协议的流媒体
最近需要测试Android是否支持HLS协议的流媒体播放,在网上找了些例子都是播放本地文件的,还有一些播放网络文件的却不是HLS协议的流媒体。据Android3.0的更新说明介绍,Android3.0已经开始支持大部分的HLS流媒体类型,于是就做了一下测试。
关键代码如下: www.zzzyk.com
[java]
private void playVideo() {
String strPath = "http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8";
//mvdView.setVideoPath(strPath);
<span style="white-space:pre"> </span>Uri uri = Uri.parse(strPath);
mvdView.setVideoURI(uri); // mvdView是一个videoView控件
mvdView.setMediaController(new MediaController(this));
//mvdView.requestFocus();
mvdView.start();
}
private void stopPlay() {
mvdView.stopPlayback();
}
加上之后怎么都出不来,一直提示“无法播放该视频”的错误,原来是app没有访问网络的权限,在AndroidManifest.xml文件中添加以下语句:
[html]
<uses-permission android:name="android.permission.INTERNET" />
视频很快就播放出来了,但是进行码率自适应测试时并没有发现当网络环境很差的情况下会自动切换至低码率视频。
经测试的Android版本有:Android 2.3、4.0和4.1.
补充:移动开发 , Android ,