直播状态监听
1.1使用场景
只适用于ugc直播视频
1.2引入资源包
{project}/app/src/main/jinLibs/armeabi/libRongIMLib.so
{project}/app/src/main/jinLibs/armeabi-v7a/libRongIMLib.so
{project}/app/src/main/jinLibs/arm64-v8a/libRongIMLib.so {project}/app/src/main/jinLibs/x86/libRongIMLib.so
1.3配置AndroidManifest.xml
<service
android:name="io.rong.imlib.ipc.RongService"
android:exported="true"
android:process=":ipc" />
<service android:name="io.rong.imlib.ReConnectService"
android:exported="true"/>
<receiver android:name="io.rong.imlib.ConnectChangeReceiver"
android:exported="true"/>
<receiver
android:name="io.rong.imlib.HeartbeatReceiver"
android:process=":ipc" />
1.4方法
VideoStatusUtil.setOnVideoPlayStatusCallback(IVideoStatus.VideoStatusCallback callback)
功能:设置直播状态的监听回调
注:此方法必须在init(channelId)之前调用,否则接收不到状态
VideoStatusUtil.init(String channelId)
功能:初始化直播的频道id
VideoStatusUtil.quit()
功能:退出直播状态监听
1.5直播状态监听回调方法使用
private IVideoStatus.VideoStatusCallback mOnVideoStatusCallback = new IVideoStatus.VideoStatusCallback() {
@Override
public void onStatusChange(int status) {
switch (status) {
case IVideoStatus.MEDIA_STATUS_LIVING:
//直播中'
canPlay = true;
if (videoView != null && !videoView.getPlayState())
videoView.reload();
...//执行直播中的UI操作
break;
case IVideoStatus.MEDIA_STATUS_LEAVE:
//主播暂时离开
canPlay = false;
if (videoView != null)
videoView.stop();
...//执行主播暂时离开的UI操作
break;
case IVideoStatus.MEDIA_STATUS_END:
//直播结束
canPlay = false;
if (videoView != null)
videoView.stop();
...//执行直播结束的UI操作
break;
}
}
@Override
public void onError(int what,String extra) {
//连接直播状态异常 输出what和extra供开发者调试用
}
};