• 沒有找到結果。

设备管理

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。

【返回参数】

【返回参数】