设备管理
3.4.1.3 房间功能 joinRoomjoinRoom
public abstract int joinRoom(HRTCJoinParam joinParam);
【功能说明】
加入房间。
【请求参数】
joinParam:入会参数,具体请参见HRTCJoinParam。
【返回参数】
● 0:成功。
● 1:失败。具体请参见客户端错误码。
● 2:上下文为空。
注意
该方法将会触发以下回调:
●
onConnectionStateChangedNotify:连接状态发送改变。
●
onJoinRoomSuccess:加入房间成功时回调。
●
onJoinRoomFailure:加入房间失败时回调,失败原因请参见•加入房间失败时,
如何解决?。
●
onRemoteUserOnline:加入房间成功后,通知房间内已加入用户的回调,不包
括自己。leaveRoom
public abstract int leaveRoom()
【功能说明】
离开房间。
【请求参数】
无
【返回参数】
● 0:成功。
● >0:失败。具体请参见客户端错误码。
注意
会触发以下回调:
●
onLeaveRoom:离开房间回调。
●
onConnectionStateChangedNotify:连接状态改变回调。
renewAuthorization
public abstract int renewAuthorization(String signature, long ctime);
【功能说明】
鉴权签名过期,收到onAuthorizationExpired回调后更新鉴权签名。
【请求参数】
● signature:鉴权签名字符串。
● ctime:过期时间,单位:秒。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
changeUserRole
public abstract int changeUserRole(HRTCRoleType role, String authorization, long ctime);
【功能说明】
设置本端用户在房间内的角色。
【请求参数】
● role:用户角色,具体请参见HRTCRoleType。
● authorization:预留参数,填null或者空字符串。
● ctime:预留参数,填0。
【返回参数】
● 0:成功。
● >0:失败。具体请参见客户端错误码。
注意
支持joiner,player角色间相互切换。
● 切换成功将触发onUserRoleChangedNotify回调。
● 切换失败将触发onError回调,返回错误码
“HRTC_ERR_CODE_USER_ROLE_CHANGE_FAIL”。
changeUserName
public abstract int changeUserName(String usrName);
【功能说明】
修改用户昵称。
【请求参数】
usrName:用户新的昵称。
【返回参数】
● 0:成功。
● >0:失败。具体请参见客户端错误码。
注意
修改成功后,本端会回调onUserNameChangedNotify事件,远端会回调 onRemoteUserNameChangedNotify事件。
createConnection
public abstract HRTCConnection createConnection(String roomId, IHRTCConnectionEventHandler eventHandler);
【功能说明】
根据房间ID,创建HRTCConnection对象,为跨房做准备。
通过此接口创建一个与房间关联的HRTCConnection连接对象。
该方法支持多次调用,创建多个HRTCConnection连接对象,调用每个对象中的 joinRoom方法,可以同时加入到多个房间。在每个房间中,可以分别订阅和选看房间 中的用户。
具体请参见事件回调(IHRTCConnectionEventHandler)中相关接口和回调。
【请求参数】
roomId:房间ID。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
注意
● 同一时间最多只能创建4个连接对象,每个连接对象对应的房间ID必须互不相同。
● 如果使用HRTCConnection对象加入房间,则加入房间的房间ID不能和已创建连接 对象对应的房间ID相同。
● 同一时间只能以JOINER角色加入某一个房间。
3.4.1.4 音频管理 muteLocalAudio
public abstract int muteLocalAudio(boolean mute);
【功能说明】
设置是否发送本地音频流。
【请求参数】
mute:true表示不发送,false表示发送。
【返回参数】
● 0:成功。
● >0:失败。具体请参见客户端错误码。
注意
成功加入房间发送音频流后才能调用,默认为发送本地音频流。
muteRemoteAudio
public abstract int muteRemoteAudio(String userId, boolean mute);
【功能说明】
设置是否接收对应远端用户的音频流。
【请求参数】
● userId:用户ID。
● mute:true表示取消音频流接收,false表示开启音频流接收,默认为false。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
muteAllRemoteAudio
public abstract int muteAllRemoteAudio(boolean mute);
【功能说明】
设置是否接收所有远端用户的音频流。
【请求参数】
mute:true表示取消音频流接收,false表示开启音频流接收。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
注意
● 取消所有音频流接收,同时也会取消接收新加入用户的音频流。
● 开启所有音频流接收,同时也会开启接收新加入用户的音频流。
● 默认开启所有音频流接收。
enableLocalAudioStream
public abstract int enableLocalAudioStream(boolean enabled);
【功能说明】
设置是否开启音频采集。
【请求参数】
enabled:true表示采集开启,false表示关闭。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
注意
默认开启,本端调用该接口时,远端用户会触发onRemoteAudioStateChangedNotify 远端音频流状态变化回调。
adjustRecordingVolume
public abstract int adjustRecordingVolume(int volume);
【功能说明】
调整录制音量值。
【请求参数】
volume:音量值,取值范围:[0,100],默认音量值为10, 此接口不会影响系统音 量。
【返回参数】
● 0:成功。
● >0:失败。具体请参见客户端错误码。
adjustPlaybackVolume
public abstract int adjustPlaybackVolume(int volume);
【功能说明】
调整播放音量值。
【请求参数】
volume:音量值,取值范围为[0,100],默认音量值为10,此接口不会影响系统音量。
【返回参数】
● 0:成功。
● >0:失败。具体请参见客户端错误码。
adjustPlaybackVolume
public abstract int adjustPlaybackVolume(String userId, int volume);
【功能说明】
调整单个用户播放音量增益值。
【请求参数】
● userId:用户ID。
● volume:音量值,取值范围为[0,100],默认音量值为10无增益,10以下表示负 增益,10以上表示正增益,此接口不会影响系统音量。
【返回参数】
● 0:成功。
● >0:失败。具体请参见客户端错误码。
sendAudioSeiMsg
public abstract int sendAudioSeiMsg(String message, int repeateCount);
【功能说明】
发送音频SEI消息。
【请求参数】
● message:发送的内容。
● repeateCount:发送次数(1-10),根据需要填发送次数 一般发1次。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
setAudioFrameRecordParameters
public abstract int setAudioFrameRecordParameters(int sampleRate, int channel, HRTCAudioOperateMode mode, int samplesPerCall);
【功能说明】
设置采集回调参数,配合setAudioFrameObserver的onAudioFrameRecord使用。
【请求参数】
● sampleRate:onAudioFrameRecord中返回的采样率,可设置为8000,16000,
32000, 44100, 48000。
● channel:声道,1表示单声道;2表示双声道。
● mode:可读可写模式,具体请参见HRTCAudioOperateMode。
● samplesPerCall:每次回调的单声道样点数(小于(sampleRate/
100)*channel*2*3,大于(sample/300)*channel*3)。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
setAudioConfig
public abstract int setAudioConfig(HRTCAudioQualityLevel level, HRTCAudioSceneType scene)
【功能说明】
设置音频使用场景。
【请求参数】
● level:表示档位,暂时只支持16k。具体请参见HRTCAudioQualityLevel。
● scene:表示音频场景模式,具体请参见HRTCAudioSceneType。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
sendCommandData
public abstract int sendCommandData(String remoteUserId, byte[] data, int length)
【功能说明】
媒体通道Cmd命令数据包转发。
【请求参数】
● userId:用户id,空字符表示广播消息。
● data:数据包。
● length:数据包长度。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
enableCommandMsg
public abstract int enableCommandMsg(boolean enable)
【功能说明】
是否开启媒体通道发数据包功能,该接口需要在joinRoom前调用。
【请求参数】
enable:true表示开启,false表示关闭。
【返回参数】
● 0:成功。
● > 0:失败。具体请参见客户端错误码。
3.4.1.5 视频管理 createRenderer
public static 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:失败。具体请参见客户端错误码。
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。
【返回参数】
【返回参数】