播放器皮肤#
因为回放播放器本身是透明的 所以可以直接设置回放播放器父容器的颜色或背景图。因为直播播放器默认颜色为黑色,增加设置图片和背景的方法boolean setVideoBackgroundColor(int color)#
boolean setVideoBackgroundImage(Bitmap bitmap)#
设置时机#
private class WatchCallback implements VHPlayerListener {
@Override
public void onStateChanged(com.vhall.player.Constants.State state) {
switch (state) {
case START:
InputStream is = watchView.getActivity().getResources().openRawResource(R.drawable.splash_bg);
Bitmap mBitmap = BitmapFactory.decodeStream(is);
if (!watchLive.setVideoBackgroundImage(mBitmap)) {
ToastUtil.showToast("设置失败");
} else {
ToastUtil.showToast("设置成功");
}
break;
互动权限修改#
嘉宾和观众进入互动不在直接要求权限,改为申请上麦或者同意上麦的时候由观众自己做权限判断这个方法必须 有权限 才可以调用 用户使用过程需要注意权限否则会导致没有声音和画面,甚至崩溃;直播过程中 关闭权限会导致 app重启 所有链接断开 导致用户收不到消息 ,需要重新进入直播间才可以
云导播#
注:sdk 6.4.0之后支持 云导播功能#
接口:获取活动基础信息,用于判断当前活动是否是云导播#
void getBaseWebinarInfo(final String id, final RequestDataCallback callback)
WebinarBaseInfoData 返回信息`
接口:获取云导播开关#
void getDirectorStatus(final String id, final RequestDataCallback callback)
返回信息 sting
云导播台状态, 0: 未开启, 1:已开启
接口:获取当前云导播活动下的机位列表#
void getDirectorSeatList(final String id, final RequestDataCallback callback)
DirectorSeatListData 返回信息
接口:占用当前云导播活动下的机位#
参数字段 | 描述 |
---|
id | 活动id |
seatId | 占用当前机位的id |
void directorSelectSeat(final String id, final String seatId, final RequestCallback callback)
无返回 接口调用成功则代表机位可以占用
接口:初始化房间详情,机位进入房间,调用接口(只机位使用)#
参数字段 | 描述 |
---|
id | 活动id |
seatId | 占用当前机位的id |
void initDirector(final String id, final String seatId, final WebinarInfoDataSource.LoadWebinarInfoCallback callback)
WebinarInfo 返回信息
使用文档#
一、根据活动id判断当前云导播活动是否开启#
判读是否是云导播,否退出,是调用接口VhallSDK.getDirectorStatus 获取云导播开关,获取当前是否支持机位进入
如果当前云导播台开启(getDirectorStatus),可以选择机位进入,如果没开则不可以选择机位
拉取机位列表(getDirectorSeatList),选择一个没有被占用的机位,占用(directorSelectSeat),然后进入房间推流(initDirector)
二、机位进入#
1、先根据活动id获取机位列表 VhallSDK.getDirectorSeatList#
2、选择一个可用的机位,然后占用机位#
进入机位推流房间 DirectorPushActivity,使用 VhallSDK.initDirector获取房间详情#
机位注意#
1.
断网或者推到后台会中断推流,再回到前台或者网络重联的时候需要重新调用 2占用机位, 判 断是否可以继续占用机位推流,可以继续推流不可以 直接退出房间
三、主持人进入#
1、依照之前逻辑 进入BroadcastActivity#
2、根据当前活动是云导播活动,进入DirectorFragment#