文档首页 > > 客户端SDK参考> Windows SDK> 接口参考>

IHRTCEngine

IHRTCEngine

分享
更新时间:2021/04/09 GMT+08:00

本章节介绍了Windows SDK的IHRTCEngine接口详情。

表1 IHRTCEngine接口

接口

描述

create

创建IHRTCEngine对象。

getRtcEngine

获取创建后的IHRTCEngine对象。

IHRTCEngine

析构函数。

setLogParam

设置日志参数,在initialize前调用。

initialize

IRtcEngine对象初始化函数。

release

释放IRtcEngine对象资源,退出时调用。

joinRoom

加入房间。

leaveRoom

离开房间。

setupLocalView

设置本地视图。

startRemoteStreamView

设置远端用户视图。

stopRemoteStreamView

关闭远端用户的显示视图。

setupRemoteView

设置远端流视图。

setRemoteViewDisplayMode

设置远端用户视图显示模式。

muteLocalVideo

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

muteLocalAudio

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

enableLocalVideo

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

enableLocalAudio

设置是否开启音频采集。

setRemoteAudioTopNVoice

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

muteRemoteAudio

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

muteAllRemoteAudio

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

muteRemoteVideo

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

muteAllRemoteVideo

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

logUpload

开启日志上传

setUserRole

设置用户的角色,角色切换使用。

setVideoEncParam

大小流模式设置大流编码参数。

enableSmallVideoStream

大小流模式设置是否开启小流编码。

adjustRecordingVolume

调整录音音量。

adjustPlaybackVolume

调整音频播放音量。

startPreview

开始本地预览。

stopPreview

关闭本地预览。

startScreenCapture

开启屏幕共享。

stopScreenCapture

停止屏幕共享。

startRemoteSubStreamView

开启共享流窗口视图。

stopRemoteSubStreamView

关闭共享流窗口视图。

setRemoteSubStreamViewDisplayMode

设置共享流视图显示模式。

connectOtherRoom

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

disconnectOtherRoom

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

renewSignature

签名更新。

setScreenSmooth

设置是否开启共享发流的流畅度优先。

setShareComputerSound

设置是否开启系统音频采集、发送。

setLocalViewMirror

设置本地摄像头预览画面的镜像模式。

setVideoEncoderMirror

设置编码器输出的画面镜像模式。

setLocalViewDisplayMode

设置本地视图渲染模式。

enableUserVolumeNotify

设置音量值上报回调函数回调周期。

setExternalAudioCapture

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

pushExternalAudioFrame

输入外部音频数据。

setExternalVideoCapture

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

pushExternalVideoFrame

输入外部视频数据。

GetAudioDeviceManager

获取系统音频设备管理对象。

GetVideoDeviceManager

获取系统视频设备管理对象。

startAudioFile

播放音频文件。

stopAudioFile

停止播放音频文件。

pauseAudioFile

暂停播放音频文件。

resumeAudioFile

恢复播放音频文件。

setExternalAudioFrameOutput

设置音频自渲染。

setExternalVideoFrameOutput

设置视频自渲染。

setExternalDataFrameOutput

设置共享流自渲染。

startNetworkTest

会前网络质量开启测试。

stopNetworkTest

会前网络质量停止测试。

enableRtcStats

开启打点统计。

setPriorRemoteVideoStreamType

大小流模式,批量设置的远端视频流类型。

setRemoteVideoStreamType

大小流模式,设置远端视频流类型。

setRemoteVideoAdjustResolution

设置是否开启远端分辨率自适应。

setDefaultMuteAllRemoteVideoStreams

设置是否默认自动接收新用户视频流。

getVersion

获取SDK版本号。

setRemoteViewMirrorMode

设置是否开启远端流视图镜像模式。

setRemoteSubStreamViewMirrorMode

设置远端辅流视图镜像模式。

create

huawei::rtc::IHRTCEngine* create(void);

功能说明

创建IHRTCEngine对象。

返回参数

  • huawei::rtc::IHRTCEngine*:IHRTCEngine对象。
  • NULL:创建失败。

getRtcEngine

huawei::rtc::IHRTCEngine* getRtcEngine(void);

功能说明

调用create成功后,可通过该函数,获取IHRTCEngine对象。

返回参数

  • huawei::rtc::IHRTCEngine*:IHRTCEngine对象。
  • NULL:IHRTCEngine对象不存在时返回。

IHRTCEngine

virtual ~IHRTCEngine() {}

功能说明

析构函数。

setLogParam

virtual int setLogParam(bool enable, const HRTCLogInfo &logInfo)

功能说明

设置日志参数,在initialize前调用。

请求参数

  • enable:true表示开启日志功能,false表示关闭日志功能。
  • logInfo:日志信息。具体请参见HRTCLogInfo
返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

initialize

virtual int initialize(const char* domain, const char* appId, IHRTCEngineEventHandler* eventHandler)

功能说明

IRtcEngine对象初始化函数。

请求参数

  • domain:域名。
  • appId:应用ID,只有App ID相同的应用程序才能进入同一个房间进行互动。
  • eventHandler:引擎回调句柄,指定一个回调事件。SDK通过指定的事件通知应用程序的运行事件,如加入或离开房间等。具体请参见事件回调

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

release

virtual void release()

功能说明

释放IRtcEngine对象资源,退出时调用。

注意事项

如果资源已经释放,需要重新调用createinitialize进行初始化。

joinRoom

virtual int joinRoom(const HRTCUserInfo &userInfo, const char* roomId, HRTCMediaType mediaType)

功能说明

加入房间。该方法让用户加入通话房间。如果已在通话中,用户必须调用leaveRoom退出当前通话,才能进入下一个房间。

请求参数

  • userInfo:用户信息。具体请参见HRTCUserInfo
  • roomId:标识通话的房间名称,长度不超过HRTC_MAX_ROOMID_LEN,64字节。
  • mediaType:媒体类型,预留参数,请使用HRTC_MEDIA_TYPE_VIDEO。具体请参见HRTCMediaType

返回参数

  • 0:方法调用成功。
  • >0:方法调用失败。具体请参见HRTCErrorCode

注意事项

会触发以下回调:

leaveRoom

virtual int leaveRoom()

功能说明

离开房间。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

  • 必须调用leaveRoom结束通话后才可以开始下一次通话。
  • 会触发以下回调:

setupLocalView

virtual int setupLocalView(view_t view, HRTCVideoDisplayMode viewMode)
virtual int setupLocalView(view_t view)

功能说明

设置本地视图。

该方法设置本地视频显示信息。 App通过调用此接口绑定本地视频流的显示视窗(view),并设置视频显示模式。

请求参数

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

startRemoteStreamView

virtual int startRemoteStreamView(const char* userId, view_t view, HRTCStreamType streamType)
virtual int startRemoteStreamView(const char* userId, view_t view, HRTCStreamType streamType,bool disableAdjustRes)

功能说明

设置远端用户视图,并开启收流。

请求参数
  • userId:远端用户的唯一标识。
  • view:窗口句柄。
  • streamType:视频分辨率,具体请参见HRTCStreamType
  • disableAdjustRes:禁用分辨率自适应,默认值false,开启分辨率自适应。若关闭,在网络环境较差情况下可能会有卡顿现象。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

stopRemoteStreamView

virtual int stopRemoteStreamView(const char* userId)

功能说明

关闭远端用户的显示视图,并停止收流。

请求参数

userId:远端用户的唯一标识。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

  • 该接口不推荐使用。
  • 请优先使用setupRemoteView和muteRemoteVideo接口。

setupRemoteView

virtual int setupRemoteView(const char* userId, view_t view)

功能说明

设置远端流视图,该接口不影响收流。

请求参数

  • userId:远端用户的唯一标识。
  • view:窗口句柄,view为NULL时,解除窗口绑定。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setRemoteViewDisplayMode

virtual int setRemoteViewDisplayMode(const char* userId, HRTCVideoDisplayMode viewMode)

功能说明

设置远端用户视图显示模式。

请求参数
  • userId:远端用户的唯一标识。
  • viewMode :视图显示模式。具体请参见HRTCVideoDisplayMode,默认RTC_VIDEO_DISPLAY_HIDDEN,通过裁剪的方式保持宽高比。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

muteLocalVideo

virtual int muteLocalVideo(bool mute)

功能说明

设置是否开启发送本地视频流。

请求参数

mute:true表示关闭,false表示开启。

注意事项
  • 默认开启本地视频发流。
  • 关闭本地视频发流,不影响本地视图采集,仍可见本地视图。
  • 远端用户订阅该用户时,远端用户会触发onRemoteVideoStateChanged远端流状态变化回调。
  • 需要在joiner状态调用。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

muteLocalAudio

virtual int muteLocalAudio(bool mute)

功能说明

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

请求参数

mute:true表示关闭本地音频发流。false表示开启本地音频发流。

注意事项
  • 默认开启本地音频发流。
  • 关闭本地音频发流,不影响本地音频采集。
  • 远端用户订阅该用户时,远端用户会触发onRemoteAudioStateChanged远端流状态变化回调。
  • 需要在joiner状态调用。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

enableLocalVideo

virtual int enableLocalVideo(bool enabled)

功能说明

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

请求参数

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

注意事项

  • 默认开启本地视频采集。
  • 远端用户订阅该用户时,远端用户会触发onRemoteVideoStateChanged远端流状态变化回调。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

enableLocalAudio

virtual int enableLocalAudio(bool enabled)

功能说明

设置是否开启音频采集。

请求参数

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

注意事项

  • 默认开启本地视频采集。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setRemoteAudioTopNVoice

virtual int setRemoteAudioTopNVoice(unsigned int topNVoice)

功能说明

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

请求参数

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

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

默认接收所有用户的音频流。建议设置为3,表示接收前3个音量最大的音频流。

muteRemoteAudio

virtual int muteRemoteAudio(const char* userId, bool mute)

功能说明

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

请求参数

  • userId: 远端用户的userId,唯一标识。
  • mute:true表示取消音频流接收。false表示开启音频流接收。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

muteAllRemoteAudio

virtual int muteAllRemoteAudio(bool mute)

功能说明

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

请求参数

mute:true表示取消接收,false表示开启接收。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

  • 取消所有音频流接收,同时也会取消接收新加入用户的音频流。
  • 开启所有音频流接收,同时也会开启接收新加入用户的音频流。
  • 默认开启所有音频流接收。

muteRemoteVideo

virtual int muteRemoteVideo(const char* userId, bool mute)

功能说明

开启、关闭指定远端用户的视频流。

请求参数

  • userId: 远端用户的userId,唯一标识。
  • mute:true表示关闭接收,false表示开启接收。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

muteAllRemoteVideo

virtual int muteAllRemoteVideo(bool mute)

功能说明

批量开启、关闭当前所有远端用户的视频流。

请求参数

mute:true表示关闭接收,false表示开启接收, 默认开启接收。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

  • 调用setDefaultMuteAllRemoteVideoStreams设置为true时,调用muteAllRemoteVideo不论参数是true还是false,新加入用户都不会接收视频流,可通过muteRemoteVideo传入此用户userId和false接收此用户视频流。
  • 调用setDefaultMuteAllRemoteVideoStreams设置为false时,调用muteAllRemoteVideo参数为true时,新加入用户不接收视频流,为false时,新加入用户自动接收视频流。

logUpload

virtual int logUpload()

功能说明

开启日志上传

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

会触发以下回调:

setUserRole

virtual int setUserRole(HRTCRoleType role)
virtual int setUserRole(const char* roomId, HRTCRoleType role)

功能说明

设置用户在本房间内/指定房间的角色,角色切换时使用。推荐使用int setUserRole(const char* roomId, HRTCRoleType role)方法。

请求参数

  • roomId:设置角色切换的房间号。
  • role:用户角色,具体请参见HRTCRoleType

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

  • 加入房间前,可以通过joinRoom的userInfo参数确认角色信息。
  • 加入指定房间后才可以在指定房间内进行角色切换,当前仅支持joiner和player角色切换。roomId可以设置为本房间,即在本房间做角色切换。
  • 切换成功触发onUserRoleChanged回调。切换失败会触发onError回调,返回HRTC_ERR_CODE_USER_ROLE_CHANGE_FAIL错误码。

setVideoEncParam

virtual int setVideoEncParam(unsigned int totalBitRate, HRTCVideoEncParam *encoderParams, unsigned int encoderCount)

功能说明

设置编码器参数。

请求参数

  • totalBitRate:视频编码总带宽,默认4096。
  • encoderParams:视频编码分辨率列表。具体请参见HRTCVideoEncParam,默认HRTC_STREAM_TYPE_HD,HRTC_STREAM_TYPE_FHD。
  • encoderCount:视频编码分辨率列表数量。
返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

  • 该接口不推荐使用。
  • 推荐请使用大小流模式:int setVideoEncParam(const HRTCVideoEncParam &encParam);

setVideoEncParam

virtual int setVideoEncParam(const HRTCVideoEncParam &encParam)

功能说明

大小流模式设置大流编码参数。默认开启大流。

请求参数】

  • encParam:视频编码参数。包括流类型、宽、高、码率、帧率等。具体请参见HRTCVideoEncParam
返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

enableSmallVideoStream

virtual int enableSmallVideoStream(bool enable, const HRTCVideoEncParam &encParam)

功能说明

大小流模式设置是否开启小流,并设置编码参数。小流选择性开启。

请求参数】

  • enable:是否开启小流。
  • encParam:视频编码参数。包括流类型、宽、高、码率、帧率等。具体请参见HRTCVideoEncParam
返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

adjustRecordingVolume

virtual int adjustRecordingVolume(unsigned int volume)

功能说明

设置录制音量。

请求参数

volume:范围[0-100],其中10表示原始音量。

返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

不影响系统音量。

adjustPlaybackVolume

virtual int adjustPlaybackVolume(unsigned int volume)

功能说明

设置播放音量。

请求参数

volume:范围[0-100],其中10表示原始音量。

返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

不影响系统音量。

startPreview

virtual int startPreview();

功能说明

开始本地预览。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode
注意事项
  • 该接口限制在房间外调用,在房间内设置不生效,需要调用stopPreview关闭预览,否则将一直处于预览状态。
  • 在房间内预览:可调用setupLocalView设置有效view开启预览,设置为0表示关闭预览,不需要调用stopPreview
  • 在房间外预览:先调用setupLocalView设置有效view,再调用startPreview开启预览;关闭时,先调用setupLocalView设置为0,再调用stopPreview关闭预览。

stopPreview

virtual int stopPreview();

功能说明

停止本地预览。

返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

如果调用了startPreview,需调用stopPreview关闭预览,否则将一直处于预览状态。该接口限制在房间外调用,在房间内设置不生效。

startScreenCapture

virtual int startScreenCapture()

功能说明

开启屏幕共享。

返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

仅支持PC端,分享成功将会触发onScreenCaptureStarted回调。

stopScreenCapture

virtual int stopScreenCapture()

功能说明

停止屏幕共享。

返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

仅支持PC端,将会触发onScreenCaptureStoped回调。

startRemoteSubStreamView

virtual int startRemoteSubStreamView(const char* userId, view_t view)

功能说明

当远端开启共享,本地接收到远端共享开启消息后,设置共享窗口视图。

请求参数

  • userId:远端用户的唯一标识。
  • view :窗口句柄。
返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

收到onUserSubStreamAvailable消息后,获取对应的userId。

stopRemoteSubStreamView

virtual int stopRemoteSubStreamView(const char* userId)

功能说明

关闭共享窗口视图。

请求参数

userId:远端用户的唯一标识。对应onUserSubStreamAvailable返回的共享用户标识。

返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setRemoteSubStreamViewDisplayMode

virtual int setRemoteSubStreamViewDisplayMode(const char* userId, HRTCVideoDisplayMode viewMode)

功能说明

设置共享流视图显示模式。

请求参数

  • userId:远端用户的唯一标识。
  • viewMode:视图显示模式 。具体请参见HRTCVideoDisplayMode,默认RTC_VIDEO_DISPLAY_FIT,通过扩边的方式保持宽高比。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

connectOtherRoom

virtual int connectOtherRoom(HRTCConnectInfo* connectInfo)

功能说明

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

请求参数

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

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

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

disconnectOtherRoom

virtual int disconnectOtherRoom(HRTCConnectInfo* connectInfo)

功能说明

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

请求参数

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

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

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

renewSignature

virtual int renewSignature(const char* signature, long long ctime)

功能说明

鉴权签名过期,收到onSignatureExpired回调后,更新鉴权签名。

请求参数

  • signature:鉴权签名字符串。
  • ctime:过期时间。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setScreenSmooth

virtual int setScreenSmooth(bool enable)

功能说明

设置是否开启共享发流的流畅度优先。

请求参数

enable:true表示共享流分辨率为720p,false表示共享流分辨率为1080p。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

开启后,共享流发流分辨率为720p,否则发流分辨率为1080p。默认不开启。

setShareComputerSound

virtual int setShareComputerSound(bool enable)

功能说明

设置是否开启系统音频采集、发送。

请求参数

enable:true表示开启系统音频采集、发送。false表示取消系统音频采集、发送。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

开启系统音频采集发送,会采集和发送当前系统所有音频,使用时应注意。

setLocalViewMirror

virtual int setLocalViewMirror(HRTCVideoMirrorType mirrorType)

功能说明

设置本地摄像头预览画面的镜像模式。

请求参数

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

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

只改变本地摄像头预览视图,不改变远端观看视图。预览时设置不生效。

setVideoEncoderMirror

virtual int setVideoEncoderMirror(HRTCVideoMirrorType mirrorType)

功能说明

设置编码器输出的画面镜像模式。

请求参数

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

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

该接口不改变本地摄像头的预览画面,但会改变另一端用户看到的和服务器录制的画面效果。

setLocalViewDisplayMode

virtual int setLocalViewDisplayMode(HRTCVideoDisplayMode displayMode)

功能说明

设置本地视图渲染模式。

请求参数

displayMode:渲染模式,包括拉伸、裁剪、缩放等。具体请参见HRTCVideoDisplayMode

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

enableUserVolumeNotify

virtual int enableUserVolumeNotify(unsigned int interval)

功能说明

指定音量提示的时间间隔, 设置后按时间间隔触发onUserVolumeStats回调。

请求参数

  • interval:音量值上报周期,默认关闭音量回调。
  • 0:关闭音量回调。
  • [100,10000]:有效值范围,单位:毫秒。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setExternalAudioCapture

virtual int setExternalAudioCapture(int enabled, int sampleRate, int channels)

功能说明

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

请求参数

  • enable:true表示开启音频自采集,false表示取消音频自采集。
  • sampleRate:音频采样率,支持8k/16k/44.1k/48k。
  • channels:音频声道数,支持单声道。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode
注意事项
  • 加入房间前调用,不支持房间内切换。
  • 自采集音频输入规格:
    • 格式:PCM。
    • 采样率:8k/16k/44.1k/48k 。
    • 声道数:单声道。
    • 位数:16。

pushExternalAudioFrame

virtual int pushExternalAudioFrame(void* audioData, int size)

功能说明

输入外部音频数据。

请求参数

  • audioData:音频数据。
  • size:音频输入数据大小。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode
注意事项
  • 此方法调用前,需要先调用setExternalAudioCapture设置开启外部音频采集。
  • 数据输入周期:10ms。
  • 音频输入数据大小:10 * sampleRate * channels * 16 / 8 / 1000。

setExternalVideoCapture

virtual int setExternalVideoCapture(bool enable)

功能说明

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

请求参数

enable:true表示开启视频自采集,false表示取消视频自采集。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode
注意事项
  • 加入房间前调用,不支持房间内切换。
  • 视频支持格式:I420。

pushExternalVideoFrame

virtual int pushExternalVideoFrame(HRTCVideoFrame* videoFrame)

功能说明

输入外部视频数据。

请求参数

videoFrame:视频自采集数据格式。具体请参见HRTCVideoFrame

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode
注意事项
  • 此方法调用前,需要先调用setExternalVideoCapture设置开启外部视频采集。
  • 数据输入周期:同视频周期,1/帧率。

GetAudioDeviceManager

virtual IHRTCAudioDeviceManager* GetAudioDeviceManager()

功能说明

获取系统音频设备管理对象。

请求参数

返回参数

  • IHRTCAudioDeviceManager*:IHRTCAudioDeviceManager对象。
  • NULL:返回失败。

GetVideoDeviceManager

virtual IHRTCVideoDeviceManager* GetVideoDeviceManager()

功能说明

获取系统视频设备管理对象。

请求参数

返回参数

  • IHRTCVideoDeviceManager*:IHRTCVideoDeviceManager对象。
  • NULL:返回失败。

startAudioFile

virtual int startAudioFile(const char *filePath, int playMode, int cycle, int replace)

功能说明

播放音频文件,房间内调用。若角色为“publisher”,不支持调用。当前仅支持本端播放。

请求参数

  • filePath:音频文件的本地全路径。
  • playMode:播放模式。
  • cycle:循环次数,0表示无限循环。
  • replace:远端模式下面是否需要和麦克风做混音。
返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

stopAudioFile

virtual int stopAudioFile()

功能说明

停止播放音频文件 ,房间内调用,若角色为“publisher”,不支持调用。

请求参数

返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

pauseAudioFile

virtual int pauseAudioFile()

功能说明

暂停播放音频文件,房间内调用,若角色为“publisher”,不支持调用。

请求参数

返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

resumeAudioFile

virtual int resumeAudioFile()

功能说明

恢复播放音频文件,房间内调用。若角色为“publisher”,不支持调用。

请求参数

返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setExternalAudioFrameOutput

virtual int setExternalAudioFrameOutput(bool localEnable, bool remoteEnable)

功能说明

开启音频自渲染

请求参数

  • localEnable:开启本地音频自渲染,默认sdk渲染。
  • remoteEnable:开启远端音频自渲染,默认sdk渲染
返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setExternalVideoFrameOutput

virtual int setExternalVideoFrameOutput(bool localEnable, bool remoteEnable)

功能说明

开启视频自渲染。

请求参数

  • localEnable:开启本地视频自渲染,默认sdk渲染。
  • remoteEnable:开启远端视频自渲染,默认sdk渲染。
返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

自渲染模式下,仍需要调用startRemoteStreamView,接收到远端视频数据。

setExternalDataFrameOutput

virtual int setExternalDataFrameOutput(bool localEnable, bool remoteEnable)

功能说明

开启共享流自渲染。

请求参数

  • localEnable:开启本地共享流自渲染,默认sdk渲染。
  • remoteEnable:开启远端共享流自渲染,默认sdk渲染。
返回参数
  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

共享流暂不支持本地渲染,该方法只对远端共享流生效。

startNetworkTest

virtual int startNetworkTest(const HRTCNetworkTestConfig* networkTestConfig) = 0;

功能说明

开启网络质量测试,房间外调用,要等探测结束后才能加入房间。

请求参数

networkTestConfig:网络探测参数格式。具体请参见HRTCNetworkTestConfig

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

会触发onNetworkTestQualityonNetworkTestResult两个回调并通过回调返回具体的网络测试结果,时间上需要20-60s。

stopNetworkTest

virtual int stopNetworkTest()

功能说明

停止网络质量测试,房间外调用。

请求参数

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

enableRtcStats

virtual int enableRtcStats(bool enabled)

功能说明

开启打点统计。

请求参数

enabled:是否开启打点,默认开启。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setPriorRemoteVideoStreamType

virtual int setPriorRemoteVideoStreamType(HRTCVideoStreamType type)

功能说明

大小流模式,设置所有订阅的远端视频流类型。默认订阅大流。

请求参数

type:视频流类型。指大流、小流,具体请参见HRTCVideoStreamType

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setRemoteVideoStreamType

virtual int setRemoteVideoStreamType(const char *userId, HRTCVideoStreamType type)

功能说明

大小流模式,设置指定订阅的远端视频流类型。

请求参数

  • userId:远端用户唯一标识。
  • type:视频流类型。指大流、小流,具体请参见HRTCVideoStreamType

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setRemoteVideoAdjustResolution

virtual int setRemoteVideoAdjustResolution(bool enable)

功能说明

设置是否开启远端流分辨率自适应。默认开启自适应。

请求参数

enable:是否开启自适应。默认开启。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setDefaultMuteAllRemoteVideoStreams

virtual int setDefaultMuteAllRemoteVideoStreams(bool mute)

功能说明

设置是否默认自动接收新用户视频流。在加入房间前调用。

请求参数

mute:true表示关闭自动接收,false表示开启自动接收, 默认true关闭接收。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

注意事项

  • 调用setDefaultMuteAllRemoteVideoStreams设置为true时,调用muteAllRemoteVideo不论参数是true还是false,新加入用户都不会接收视频流,可通过muteRemoteVideo传入此用户userId和false来接收此用户视频流。
  • 调用setDefaultMuteAllRemoteVideoStreams设置为false时,调用muteAllRemoteVideo参数为true时,新加入用户不接收视频流,为false时,新加入用户自动接收视频流。

getVersion

virtual char* getVersion()

功能说明

获取SDK版本号。

请求参数

返回参数

SDK版本号

setRemoteViewMirrorMode

virtual int setRemoteViewMirrorMode(const char* userId, int enable)

功能说明

设置是否开启远端流视图镜像模式。

请求参数

  • userId:用户ID。
  • enable:true表示开启,false表示不开启。
返回参数
  • 0:方法调用成功。
  • >0:方法调用失败。

setRemoteSubStreamViewMirrorMode

virtual int setRemoteSubStreamViewMirrorMode(const char *userId, int enable)

功能说明

设置是否开启远端辅流视图的镜像模式。

请求参数

  • userId:用户ID;
  • enable:true表示开启,false表示不开启。
返回参数
  • 0:方法调用成功。
  • >0:方法调用失败。
分享:

    相关文档

    相关产品