文档首页 > > SDK参考> Android SDK> 接口参考> RtcEngine

RtcEngine

分享
更新时间:2020/11/26 GMT+08:00

本章节介绍了Android SDK的RtcEngine接口详情。

表1 RtcEngine接口

接口

描述

setLogParam

设置日志参数

create

创建RTC引擎实例

destroy

销毁RTC引擎

joinRoom

加入房间

leaveRoom

离开房间

createRenderer

创建渲染视图

setupLocalView

设置本地窗口

switchCamera

切换摄像头

muteLocalAudio

设置是否发送本地音频流

setSpeakerModel

设置声音播放模式

muteLocalVideo

设置是否发送本地视频流

logUpload

上传日志

adjustRecordingVolume

调整录制音量

adjustPlaybackVolume

调整播放音量

setVideoEncParam

设置视频编码参数

setUserRole

设置用户角色

startPreview

开始本地预览

stopPreview

停止本地预览

setExternalAudioFrameOutputEnable

设置音频数据输出使能

setExternalVideoFrameOutputEnable

设置视频数据输出使能

setExternalDataFrameOutputEnable

设置共享数据输出使能

selectVideoFrameOutput

选择特定用户的视频数据输出

unSelectVideoFrameOutput

去除选择特定用户的视频数据输出

startRemoteStreamView

开始选看远端窗口

stopRemoteStreamView

停止选看远端窗口

setRemoteViewDisplayMode

设置远端窗口渲染模式

startRemoteSubStreamView

开始选看辅流

stopRemoteSubStreamView

停止选看辅流

setRemoteSubStreamViewRotation

设置辅流角度

setRemoteSubStreamViewDisplayMode

设置辅流渲染模式

connectOtherRoom

开启跨房,加入其他房间

disconnectOtherRoom

结束跨房,离开其他房间

setRemoteAudioTopNVoice

设置在所有可接收的音频流中,接收前N个音量最大的音频流

muteRemoteAudio

设置是否接收对应远端用户的音频流

muteAllRemoteAudio

设置是否接收所有用户的音频流

setExternalAudioCapture

设置是否开启外部音频采集

setExternalVideoCapture

设置是否开启外部视频采集

pushExternalAudioFrame

输入外部音频数据

pushExternalVideoFrame

输入外部视频数据

setLocalViewMirror

设置本地视频镜像模式

setVideoEncoderMirror

设置视频编码镜像模式

enableLocalVideo

设置是否开启摄像头采集视频

setLayoutDirect

设置显示模式,区分横屏还是竖屏,用于保证摄像头方向与本地界面方向一致

startAudioFile

开始播放音频文件

stopAudioFile

停止播放音频文件

pauseAudioFile

暂停播放音频文件

resumeAudioFile

恢复播放音频文件

startNetworkTest

开启会前网络探测

stopNetworkTest

停止会前网络检测

enableRtcStats

打点功能开关

setLogParam

public static int setLogParam(boolean enable, HRTCLogLevel logInfo)

功能说明

设置日志参数。需要在创建RTC引擎之前调用。

请求参数
  • enable:true表示打印日志文件。false表示不打印日志文件。
  • logInfo:日志文件设置,具体请参见HRTCLogLevel
返回参数
  • 0:成功
  • 1:失败

create

public static synchronized HRTCEngine create(Context context, String domain, String appId, IHRTCEngineEventHandler eventHandler)

功能说明

创建RTC引擎实例。

请求参数
  • context:上下文。
  • domain:域名。
  • appId:应用ID。
  • eventHandler:引擎事件句柄,用于加入房间、离开房间等事件回调,具体请参见IHRTCEngineEventHandler

返回参数

返回引擎实例对象。

destroy

public static synchronized void destroy()

功能说明

销毁RTC引擎。

请求参数

返回参数

joinRoom

public abstract int joinRoom(HRTCUserInfo userInfo, String roomId, HRTCMediaType mediaType);

功能说明

加入房间。

请求参数
  • userInfo:用户信息,具体请参见HRTCUserInfo
  • roomId:房间ID。
  • mediaType:媒体类型,具体请参见HRTCMediaType
返回参数
  • 0:成功
  • 1:失败
  • 2:上下文为空

注意事项

该方法将会触发以下回调:

leaveRoom

public abstract int leaveRoom()

功能说明

离开房间。

【请求参数】

返回参数
  • 0:成功
  • 1:失败

注意事项

会触发以下回调:

createRenderer

public static SurfaceView createRenderer(Context context)

功能说明

创建渲染视图。

请求参数

context:上下文。

返回参数

创建的渲染视图。

setupLocalView

public abstract int setupLocalView(SurfaceView view, HRTCVideoDisplayMode viewMode);

功能说明

设置本地窗口。

请求参数
返回参数
  • 0:成功
  • 1:失败

switchCamera

public abstract int switchCamera();

【功能说明】

切换摄像头,成功加入房间后才能调用。

请求参数

返回参数
  • 0:成功
  • 非0:失败

muteLocalAudio

public abstract int muteLocalAudio(boolean mute);

功能说明

设置是否发送本地音频流。

请求参数

mute:true表示不发送,false表示发送。

返回参数
  • 0:成功。
  • 非0:失败。

注意事项

成功加入房间发送音频流后才能调用,默认为发送本地音频流。

setSpeakerModel

public abstract int setSpeakerModel(HRTCSpeakerModel speakerModel);

功能说明

设置声音播放模式。成功加入房间后才能调用。

请求参数

speakerModel:声音播放模式,具体请参见HRTCSpeakerModel

返回参数
  • 0:成功。
  • 非0:失败。

muteLocalVideo

public abstract int muteLocalVideo(boolean mute);

功能说明

设置是否发送本地视频流。成功加入房间后才能调用。

请求参数

mute:true表示不发送,false表示发送。

返回参数
  • 0:成功。
  • 非0:失败。

logUpload

public abstract int logUpload();

功能说明

上传日志。

请求参数

【返回参数】
  • 0:成功。
  • 非0:失败。

注意事项

会触发以下回调:

adjustRecordingVolume

public abstract int adjustRecordingVolume(int volume);

功能说明

调整录制音量值。

请求参数

volume:音量值,取值范围:[0,100]。

返回参数
  • 0:成功。
  • 非0:失败。

adjustPlaybackVolume

public abstract int adjustPlaybackVolume(int volume);

功能说明

调整播放音量值。

请求参数

volume:音量值,取值范围:[0,100]。

返回参数
  • 0:成功。
  • 非0:失败。

setVideoEncParam

public abstract int setVideoEncParam(int totalBitRate, List <HRTCVideoEncParam> encoderParams);

功能说明

设置视频编码参数。

请求参数
  • totalBitRate:视频最大码率。
  • encoderParams:视频编码参数列表,具体请参见HRTCVideoEncParam
返回参数
  • 0:成功。
  • 非0:失败。

setUserRole

public abstract int setUserRole(HRTCRoleType role);

功能说明

设置用户角色,可以在自己所在的房间内切换角色。

请求参数

role:用户角色,具体请参见HRTCRoleType

返回参数
  • 0:成功。
  • 非0:失败。

注意事项

当前仅支持joiner,player角色切换。不支持切换到publisher角色。
  • 切换成功将触发onUserRoleChanged回调。
  • 切换失败将触发onError回调,返回错误码“HRTC_ERR_CODE_USER_ROLE_CHANGE_FAIL”

setUserRole

public abstract int setUserRole(String roomId, HRTCRoleType role);

功能说明

设置用户角色,可以在房间内切换角色。

请求参数
  • roomId:设置角色切换的房间号。
  • role:用户角色,具体请参见HRTCRoleType
返回参数
  • 0:成功。
  • 非0:失败。

注意事项

当前仅支持joiner,player角色切换。不支持切换到publisher角色。
  • 切换成功将触发onUserRoleChanged回调。
  • 在本房间内切换失败将触发onError回调,返回错误码“HRTC_ERR_CODE_USER_ROLE_CHANGE_FAIL”
  • 在跨房房间内切换失败将触发onConnectOtherRoom回调,返回错误码“RTC_ERR_CODE_DISCONNECT_OTHER_ROOM_FAIL”

startPreview

public abstract int startPreview();

功能说明

开始本地预览。

请求参数

无。

返回参数
  • 0:成功。
  • 非0:失败。

注意事项

加入房间之前进行预览,如果需要加入房间,需要调用stopPreview停止预览后再加入房间。

stopPreview

public abstract int stopPreview();

功能说明

停止本地预览。

请求参数

返回参数
  • 0:成功。
  • 非0:失败。

setExternalAudioFrameOutputEnable

public abstract int setExternalAudioFrameOutputEnable(boolean localEnable,boolean remoteEnable);

功能说明

设置音频数据输出使能。

请求参数
  • localEnable:true表示输出本地音频数据,false表示不输出本地音频数据。
  • remoteEnable:true表示输出远端音频数据,false表示不输出远端音频数据。

返回参数

  • 0:成功。
  • 非0:失败。

注意事项

通过onPlaybackAudioFrame回调音频数据。

setExternalVideoFrameOutputEnable

public abstract int setExternalVideoFrameOutputEnable(boolean localEnable,boolean remoteEnable);

功能说明

设置视频数据输出使能。

请求参数
  • localEnable:true表示输出本地视频数据,false表示不输出本地视频数据。
  • remoteEnable:true表示输出远端视频数据,false表示不输出远端视频数据。

返回参数

  • 0:成功。
  • 非0:失败。

注意事项

设置完视频使能之后,需要调用selectVideoFrameOutput选择特定用户的视频数据。通过onRenderVideoFrame回调视频数据

setExternalDataFrameOutputEnable

public abstract int setExternalDataFrameOutputEnable(boolean localEnable,boolean remoteEnable);

功能说明

设置共享数据输出使能。Android平台接口暂不提供本地共享数据的设置。

请求参数
  • localEnable:true表示输出本地共享数据,false表示不输出本地共享数据。
  • remoteEnable:true表示输出远端共享数据,false表示不输出远端共享数据。

返回参数

  • 0:成功。
  • 非0:失败。

注意事项

设置完视频使能之后,需要调用selectVideoFrameOutput选择特定用户的视频数据。通过onRenderDataFrame回调视频数据

selectVideoFrameOutput

public abstract int selectVideoFrameOutput(String userId);

功能说明

选择特定用户的视频数据输出。

请求参数

userId:用户ID。

返回参数
  • 0:成功。
  • 非0:失败。

注意事项

选择之后也可以通过unSelectVideoFrameOutput方法去除选择,达到不让特定用户数据输出的目的。

unSelectVideoFrameOutput

public abstract int unSelectVideoFrameOutput(String userId);

功能说明

去除选择特定用户的视频数据输出。

请求参数

userId:用户ID。

返回参数
  • 0:成功。
  • 非0:失败。

startRemoteStreamView

public abstract int startRemoteStreamView(String userId, SurfaceView view, HRTCStreamType streamType);
public abstract int startRemoteStreamView(String userId, SurfaceView view, HRTCStreamType streamType, boolean disableAdjustRes);

功能说明

开始选看远端窗口。

【请求参数】
  • userId:用户ID。
  • view:远端窗口视图。
  • streamType:流类型,具体请参见HRTCStreamType
  • disableAdjustRes:禁用码率自适应的标志。

返回参数

  • 0:成功。
  • 1:失败。

注意事项

选看当前还未选看的用户或者选看用户的的流类型发生了变化时,将会触发onFirstRemoteVideoDecoded回调。

stopRemoteStreamView

public abstract int stopRemoteStreamView(String userId);

功能说明

停止选看远端窗口。

请求参数

userId:用户ID。

返回参数
  • 0:成功。
  • 1:失败。

setRemoteViewDisplayMode

public abstract int setRemoteViewDisplayMode(String userId, HRTCVideoDisplayMode viewMode);

功能说明

设置远端窗口渲染模式。

请求参数
返回参数
  • 0:成功。
  • 1:失败。

startRemoteSubStreamView

public abstract int startRemoteSubStreamView(String userId, SurfaceView view);

功能说明

开始选看辅流。

请求参数

  • userId:用户ID。
  • view:窗口视图。
返回参数
  • 0:成功。
  • 1:失败。

stopRemoteSubStreamView

public abstract int stopRemoteSubStreamView(String userId);

功能说明

停止选看辅流。

【请求参数】

userId:用户ID。

返回参数
  • 0:成功。
  • 1:失败。

setRemoteSubStreamViewRotation

public abstract int setRemoteSubStreamViewRotation(String userId, HRTCRotationType rotation);

功能说明

设置辅流角度。

请求参数
  • userId:用户ID。
  • rotation:辅流角度,具体请参见HRTCRotationType
返回参数
  • 0:成功。
  • 1:失败。

setRemoteSubStreamViewDisplayMode

public abstract int setRemoteSubStreamViewDisplayMode(String userId, HRTCVideoDisplayMode viewMode);

功能说明

设置辅流渲染模式。

请求参数
返回参数
  • 0:成功。
  • 1:失败。

connectOtherRoom

public abstract int connectOtherRoom(HRTCConnectInfo connectInfo);

功能说明

开启跨房,加入其他房间。

请求参数

connectInfo:设置开启跨房的房间号和角色,具体请参见HRTCConnectInfo

返回参数
  • 0:成功
  • > 0:失败

注意事项

用户需要加入房间,收到onUserJoined回调后才能调用跨房接口。
  • 开启跨房前,需要保证该用户在本房间内为joiner角色。开启跨房后,该用户在本房间不允许再做角色切换。
  • 开启跨房,需要以player角色加入其他房间,即请求参数connectInfo.role需要设置为HRTC_ROLE_TYPE_PLAYER。

disconnectOtherRoom

public abstract int disconnectOtherRoom(HRTCConnectInfo connectInfo);

功能说明

结束跨房,离开其他房间。

请求参数

connectInfo:设置跨房的房间号、角色,具体请参见HRTCConnectInfo

返回参数

  • 0:成功
  • > 0:失败

注意事项

该调用只会使得用户离开connectOtherRoom连接的房间,并不会离开本房间。

setRemoteAudioTopNVoice

public abstract int setRemoteAudioTopNVoice(int topNVoice);

功能说明

设置在所有可接收的音频流中,接收前N个音量最大的音频流。

请求参数

topNVoice:设置接收的音频流数量。

返回参数
  • 0:成功
  • > 0:失败

注意事项

默认接收所有用户的音频流。互动视频建议设置参数为3。接收前3个音量最大的音频流。

muteRemoteAudio

public abstract int muteRemoteAudio(String userId, boolean mute);

功能说明

设置是否接收对应远端用户的音频流。

请求参数
  • userId:用户ID
  • mute:true表示取消音频流接收。false表示开启音频流接收。
返回参数
  • 0:成功
  • > 0:失败

muteAllRemoteAudio

public abstract int muteAllRemoteAudio(boolean mute);

功能说明

设置是否接收所有用户的音频流。

请求参数

mute:true表示取消音频流接收。false表示开启音频流接收。

返回参数
  • 0:成功
  • > 0:失败
注意事项
  • 取消所有音频流接收,同时也会取消接收新加入用户的音频流。
  • 开启所有音频流接收,同时也会开启接收新加入用户的音频流。
  • 默认开启所有音频流接收。

setExternalAudioCapture

public abstract int setExternalAudioCapture(boolean audioEnable,int sampleRate,int channels);

功能说明

设置是否开启外部音频采集。

请求参数
  • audioEnable:true表示音频使用外部采集。false表示音频不使用外部采集。
  • sampleRate:采样率,当前支持8k、16k、44.1k、48k等采样率。
  • channels:频道数,当前只支持单声道。

返回参数

  • 0:成功
  • > 0:失败

注意事项

如果使用外部输入音频数据,请通过pushExternalAudioFrame接口按照一定时间间隔输入音频数据。

setExternalVideoCapture

public abstract int setExternalVideoCapture(boolean videoEnable);

功能说明

设置是否开启视频外部采集。

请求参数

videoEnable:true表示视频使用外部采集。false表示视频不使用外部采集。

返回参数

  • 0:成功
  • > 0:失败

注意事项

如果使用外部输入视频数据,请通过pushExternalVideoFrame接口按照一定时间间隔输入视频数据。

pushExternalAudioFrame

public abstract int pushExternalAudioFrame(byte[] audioData);

功能说明

输入外部音频数据。

请求参数

audioData:音频数据。

返回参数

  • 0:成功
  • > 0:失败

注意事项

需要按照一定的时间间隔来输入,例如每次输入10ms的数据。

pushExternalVideoFrame

public abstract int pushExternalVideoFrame(HRTCVideoFrame videoFrame);

功能说明

输入外部视频数据。

请求参数

videoFrame:视频数据,具体请参见HRTCVideoFrame

返回参数

  • 0:成功
  • > 0:失败

注意事项

需要按照一定的时间间隔来输入,例如视频原本为15帧/秒,则需要间隔1000/15毫秒间隔来输入视频数据。

setLocalViewMirror

public abstract int setLocalViewMirror(HRTCVideoMirrorType mirrorType);

功能说明

设置本地视频的镜像模式。

请求参数

mirrorType:镜像模式,是否开启镜像,具体请参见HRTCVideoMirrorType

返回参数

  • 0:成功
  • > 0:失败

注意事项

开启本地镜像后,本地视频窗口看到的是镜像视图,不影响远端看自己的视图。

setVideoEncoderMirror

public abstract int setVideoEncoderMirror(HRTCVideoMirrorType mirrorType);

功能说明

设置视频编码镜像模式。

请求参数

mirrorType:镜像模式,是否开启镜像,具体请参见HRTCVideoMirrorType

返回参数

  • 0:成功
  • > 0:失败

注意事项

开启镜像后,仅改变编码发送给远端用户的视图,不影响自己看到的本地视频窗口。

enableLocalVideo

public abstract int enableLocalVideo(boolean enabled);

功能说明

设置是否开启摄像头采集视频

请求参数

enable:true表示开启。false表示关闭。

注意事项

默认开启,关闭不会影响视频流发送,不会触发远端流状态变化回调。

setLayoutDirect

public abstract void setLayoutDirect(int layoutDirect);

功能说明

设置显示模式,区分横屏和竖屏,用于保证摄像头方向与本地界面方向一致

请求参数

layoutDirect:0表示横屏模式,1表示竖屏模式。

返回参数

startAudioFile

public abstract int startAudioFile(String fullFilePath, int playMode, int cycle, int replace);

功能说明

开始播放音频文件。

请求参数

  • fullFilePath:音频文件的本地全路径,或者远程的HTTP地址。
  • playMode:播放模式,0表示播放本地文件,1表示播放远程文件。
  • cycle:循环次数,0表示无限循环。
  • replace:远端模式下面是否需要和麦克风做混音。
返回参数
  • 0:表示调用播放命令成功。
  • 非0:表示调用播放命令失败。

stopAudioFile

public abstract int stopAudioFile();

功能说明

停止播放音频文件。

请求参数

返回参数
  • 0:表示调用停止命令成功。
  • 非0:表示调用停止命令失败。

pauseAudioFile

public abstract int pauseAudioFile();

功能说明

暂停播放音频文件。

请求参数

返回参数

  • 0:表示调用暂停命令成功。
  • 非0:表示调用暂停命令失败。

resumeAudioFile

public abstract int resumeAudioFile();

功能说明

恢复播放音频文件。

请求参数

返回参数
  • 0:表示调用恢复播放命令成功。
  • 非0:表示调用恢复播放命令失败。

startNetworkTest

public abstract int startNetworkTest(HRTCNetworkTestConfig networkTestConfig);

功能说明

启动入会前网络检测。

请求参数

networkTestConfig:检测配置信息,具体请参见HRTCNetworkTestConfig

返回参数
  • 0:表示调用启动命令成功。
  • 非0:表示调用启动命令失败。

stopNetworkTest

public abstract int stopNetworkTest();

功能说明

停止入会前网络检测。

请求参数

返回参数
  • 0:表示调用停止命令成功。
  • 非0:表示调用停止命令失败。

enableRtcStats

public abstract int enableRtcStats(boolean enabled);

功能说明

打点功能开关,可以在初始化前或初始化之后调用。

请求参数

enabled:是否打开功能开关,true表示打开,false表示关闭。

返回参数
  • 0:表示调用命令成功
  • 非0:表示调用命令失败
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问