视频管理
createRenderer
public abstract SurfaceView createRenderer(Context context)
【功能说明】
创建渲染视图。
【请求参数】
context:上下文。
【返回参数】
创建的渲染视图。
updateLocalRenderMode
public abstract int updateLocalRenderMode(HRTCVideoDisplayMode displayMode, HRTCVideoMirrorType mirrorMode) = 0;
【功能说明】
设置本地窗口显示模式,镜像模式。
【请求参数】
- displayMode:显示模式,具体请参见HRTCVideoDisplayMode。
- mirrorMode:镜像模式,具体请参见HRTCVideoMirrorType。
【返回参数】
- 0:成功。
- >0:失败。具体请参见客户端错误码。
setupLocalView
public abstract int setupLocalView(SurfaceView view); public abstract int setupLocalView(SurfaceView view, HRTCVideoDisplayMode viewMode);
【功能说明】
设置本地窗口。
- view:窗口视图。
- displayMode:显示模式,具体请参见HRTCVideoDisplayMode。不设置则默认为裁剪模式。
- 0:成功。
- >0:失败。具体请参见客户端错误码。
pushLocalVideo
public abstract int pushLocalVideo(boolean push);
【功能说明】
设置是否发送本地视频流。
【请求参数】
push:true表示发送,false表示不发送。
- 0:成功。
- >0:失败。具体请参见客户端错误码。
setVideoEncoderConfig
public abstract int setVideoEncoderConfig(int totalBitRate, List<HRTCVideoEncParam> encoderParams); public abstract int setVideoEncoderConfig(HRTCVideoEncParam encoderParam);
【功能说明】
设置视频编码参数。具体请参见全平台setVideoEncoderConfig。
- totalBitRate:视频最大码率,默认值4096。
- encoderParams:视频编码参数列表,具体请参见HRTCVideoEncParam。
- encoderParam:视频编码参数,具体请参见HRTCVideoEncParam。
- 0:成功。
- >0:失败。具体请参见客户端错误码。
- 安卓移动端采集帧率限制20帧,建议设置的编码帧率不要超过20帧
setNonStandardVideoEncoder
public abstract int setNonStandardVideoEncoder(List<HRTCVideoEncParam> encParams);
【功能说明】
设置非标视频编码参数。参数列表,第一个为大流(必填),第二个为小流(选填)。
【请求参数】
encoderParams:视频编码参数列表,具体请参见HRTCVideoEncParam。
- 0:成功。
- >0:失败。具体请参见客户端错误码。
setRemoteVideoAdjustResolution
public abstract int setRemoteVideoAdjustResolution(boolean enable);
【功能说明】
设置是否开启远端流分辨率自适应。默认开启自适应。
【请求参数】
enable:是否开启分辨率自适应。默认开启。
- 0:成功。
- >0:失败。具体请参见客户端错误码。
startLocalPreview
public abstract int startLocalPreview();
【功能说明】
开始本地预览。
【请求参数】
无
- 0:成功。
- >0:失败。具体请参见客户端错误码。
- 该接口限制在房间外调用,在房间内设置不生效,需要调用stopLocalPreview关闭预览,否则将一直处于预览状态。
- 在房间内预览:可调用setupLocalView设置有效view开启预览,设置为null表示关闭预览,不需要调用stopLocalPreview。
- 在房间外预览:先调用setupLocalView设置有效view,再调用startLocalPreview开启预览;关闭时,先调用setupLocalView设置为null,再调用stopLocalPreview关闭预览。
stopLocalPreview
public abstract int stopLocalPreview();
【功能说明】
停止本地预览。
【请求参数】
无
- 0:成功。
- >0:失败。具体请参见客户端错误码。
如果调用了startLocalPreview,需调用stopLocalPreview关闭预览,否则将一直处于预览状态。该接口限制在房间外调用,在房间内设置不生效。
startRemoteStreamView
public abstract int startRemoteStreamView(String userId, SurfaceView view, HRTCStreamType streamType, boolean disableAdjustRes);
【功能说明】
开始订阅远端视频流,并设置远端窗口。
- userId:用户ID。
- view:远端窗口视图。
- streamType:流类型,具体请参见HRTCStreamType。
- disableAdjustRes:禁用分辨率自适应的标志。
【返回参数】
- 0:成功。
- >0:失败。具体请参见客户端错误码。
stopRemoteStreamView
public abstract int stopRemoteStreamView(String userId);
【功能说明】
停止订阅远端视频流,并关闭远端窗口。
【请求参数】
userId:用户ID。
- 0:成功。
- >0:失败。具体请参见客户端错误码。
setupRemoteView
public abstract int setupRemoteView(String userId, SurfaceView view);
【功能说明】
设置远端流视图,该接口不影响收流。
【请求参数】
- userId:远端用户的唯一标识。
- view:远端窗口视图,view为null时,解除窗口绑定。
- 0:成功。
- > 0:失败。具体请参见客户端错误码。
updateRemoteRenderMode
public abstract int updateRemoteRenderMode(String userId, HRTCVideoDisplayMode displayMode, HRTCVideoMirrorType mirrorMode);
【功能说明】
设置远端窗口渲染模式。
- userId:用户ID。
- displayMode:渲染模式,具体请参见HRTCVideoDisplayMode。
- mirrorMode:镜像模式,具体请参见HRTCVideoMirrorType 。
- 0:成功。
- >0:失败。具体请参见客户端错误码。
pullRemoteVideo
public abstract int pullRemoteVideo(String userId, boolean pull);
【功能说明】
开启、关闭指定远端用户的视频流。
【请求参数】
- userId:远端用户的userId,唯一标识。
- pull:true表示开始接收,false表示关闭接收。
【返回参数】
- 0:成功。
- > 0:失败。具体请参见客户端错误码。
pullAllRemoteVideo
public abstract int pullAllRemoteVideo(boolean pull);
【功能说明】
批量开启、关闭当前所有远端用户的视频流。
【请求参数】
pull:true表示开启接收,false表示关闭接收, 默认开启接收。
【返回参数】
- 0:成功。
- > 0:失败。具体请参见客户端错误码。
开启本地镜像后,本地视频窗口看到的是镜像视图,但不影响远端查看自己的视图。
setVideoEncoderMirror
public abstract int setVideoEncoderMirror(HRTCVideoMirrorType mirrorType);
【功能说明】
设置视频编码镜像模式。
【请求参数】
mirrorType:镜像模式,是否开启镜像,具体请参见HRTCVideoMirrorType,默认值false。
【返回参数】
- 0:成功。
- > 0:失败。具体请参见客户端错误码。
开启镜像后,仅改变编码发送给远端用户的视图,不影响自己看到的本地视频窗口。
enableLocalVideo
public abstract int enableLocalVideo(boolean enabled);
【功能说明】
设置是否开启摄像头采集视频。
【请求参数】
enabled:true表示开启,false表示关闭。
【返回参数】
- 0:成功。
- > 0:失败。具体请参见客户端错误码。
默认开启,本端调用时,远端用户会触发onRemoteVideoStateChangedNotify远端视频流状态变化回调。
enableVideoSuperResolution
public abstract int enableVideoSuperResolution(boolean enabled);
【功能说明】
设置是否开启视频超分 。
【请求参数】
enabled:true表示开启,false表示关闭。
【返回参数】
- 0:成功。
- > 0:失败。具体请参见客户端错误码。
enableSmallVideoStream
public abstract int enableSmallVideoStream(boolean enable, HRTCVideoEncParam encoderParam);
【功能说明】
大小流模式设置是否开启小流,并设置编码参数。小流选择性开启。
- enable:是否开启小流。
- encoderParam:视频编码参数。包括流类型、宽、高、码率、帧率等。具体请参见HRTCVideoEncParam。
- 0:成功。
- >0:失败。具体请参见客户端错误码。
setPriorRemoteVideoStreamType
public abstract int setPriorRemoteVideoStreamType(HRTCVideoStreamType type);
【功能说明】
大小流模式,设置所有订阅的远端视频流类型。默认订阅大流,优先应用setRemoteVideoStreamType接口设置的用户流类型。
【请求参数】
type:订阅的视频流类型,分为大流和小流,具体请参见HRTCVideoStreamType。
- 0:成功。
- >0:失败。具体请参见客户端错误码。
setRemoteVideoStreamType
public abstract int setRemoteVideoStreamType(String userId, HRTCVideoStreamType type);
【功能说明】
大小流模式,设置指定订阅的远端视频流类型。
【请求参数】
- userId:远端用户唯一标识。
- type:订阅的视频流类型,分为大流和小流,具体请参见HRTCVideoStreamType。
startPublishStream
public abstract int startPublishStream(String taskId, List<String> urlList, HRTCTranscodeConfig transcodeConfig);
【功能说明】
开始旁路推流。
【请求参数】
- taskId:任务id,业务自行定义,保证唯一。
- urlList:url数组。参考HRTCRtmpUrlList
- transcodeConfig:用户id数组和其他参数,具体请参见HRTCTranscodeConfig。
【返回参数】
- 0:成功。
- > 0:失败。具体请参见客户端错误码。
updateTransCoding
public abstract int updateTransCoding(String taskId, HRTCTranscodeConfig transcodeConfig);
【功能说明】
更新旁路推流。
【请求参数】
- taskId:任务id,业务自行定义,保证唯一。
- transcodeConfig:用户id数组和其他参数,具体请参见HRTCTranscodeConfig。
【返回参数】
- 0:成功。
- > 0:失败。具体请参见客户端错误码。
stopPublishStream
virtual int stopPublishStream(const char* taskId)
【功能说明】
停止旁路推流。
【请求参数】
taskId:任务id,支持自定义,需保证唯一性。
【返回参数】
- 0:成功。
- > 0:失败。具体请参见客户端错误码。
startAllRemoteView
public abstract int startAllRemoteView(int counts, List<HRTCVideoRemoteView> viewInfoList);
【功能说明】
批量设置远端流视图。
【请求参数】
- counts:必选,number类型,为数组的长度;如果设置为0,则取消所有远端流视图,大于0,则取消没选中用户的远端视图。
- viewInfoList:订阅的视图信息,主要包括该视图的句柄、流类型、用户ID、是否自适应等,具体请参见HRTCVideoRemoteView。
- 0:成功。
- >0:失败。具体请参见客户端错误码。