阿里云Android播放器SDK支持标准直播播放(RTMP/FLV/HLS等格式),本文介绍标准直播播放的实现方法。
重要
更多功能、API文档及常见问题,请参考Android播放器。
操作步骤
步骤一:集成SDK
请参考Android播放器集成SDK进行集成。
步骤二:实现直播播放
快速开始。
请参考Android播放器快速开始实现基础播放功能。
设置直播播放源。
Android播放器SDK支持2种直播播放方式,UrlSource播放和加密播放。
直播UrlSource播放
使用UrlSource播放方式播放直播视频,需要将播放器的setUrl属性设置为直播拉流地址。播放地址可以是第三方直播地址或阿里云直播服务中的拉流地址。
阿里云直播拉流地址可以通过直播控制台的地址生成器生成。详情请参见直播地址生成器。
UrlSource urlSource = new UrlSource(); urlSource.setUri("播放地址");// 播放地址,可以是第三方直播地址,或阿里云直播服务中的拉流地址。 aliPlayer.setDataSource(urlSource);
直播DRM加密播放
直播DRM加密播放请参见如何播放加密视频。
设置多清晰度。
说明支持阿里云视频直播的播放地址或经直播转码后(现支持通用转码和自定义转码)的转码流地址,直播转码详情请参见转码管理;地址获取方式请参见生成推流地址和播放地址。
支持ARTC协议和FLV协议的直播流的不同清晰度切换。
推流的gop size需要设置为1s或2s,过大会导致切流跳变。
播放域名需开启选项:FLV播放时输出RTMP时间戳、上游断流后输出RTMP时间戳;转码配置需开启选项:时间戳随源、关键帧随源,否则会导致切流卡顿或失败。如需开启请提交工单申请。
切换到不符合上述要求的流地址时,会切换失败。
切换清晰度
通过
switchStream
方法切换清晰度,传递对应新清晰度的URL即可。aliPlayer.switchStream(newUrl);
清晰度切换通知
清晰度切换成功与失败回调。
aliPlayer.setOnStreamSwitchedListener(new IPlayer.OnStreamSwitchedListener() { @Override public void onSwitchedSuccess(String url) { Log.i("SwitchStream", "switch success, url = " + url); } @Override public void onSwitchedFail(String url, ErrorInfo errorInfo) { Log.i("SwitchStream", "switch failed, url = " + url + ", error=" + errorInfo.getMsg()); } });
该文章对您有帮助吗?