Public API

函数

返回 名称
BYTE_API bytertc::IRtcEngine* CreateByteRtcEngine
BYTE_API bytertc::IRtcEngine* CreateByteRtcEngineWithParameters
BYTE_API void DestroyByteRtcEngine
BYTE_API void EnablePerformanceCollect
BYTE_API const char* GetErrorDescription
BYTE_API int Feedback

函数说明

CreateByteRtcEngine

BYTE_API bytertc::IRtcEngine* bytertc::CreateByteRtcEngine(
    const char* app_id,
    bytertc::IRtcEngineEventHandler* event_handler)

创建 RTCEngine 实例。
此方法应该作为正常 SDK 流程中的第一步操作,通过创建一个 RTCEngine 实例,来使用 SDK 的其他能力。

传入参数

参数名 类型 说明
app_id const char* 每个应用的唯一标识符,由 VRTC 控制台随机生成的。不同的 AppId 生成的实例在 VRTC 中进行音视频通话完全独立,无法互通。
event_handler bytertc::IRtcEngineEventHandler* SDK 回调给应用层的 Callback 对象,详见 IRtcEngineEventHandler 。

返回值

可用的 IRtcEngine 实例。

注意

CreateByteRtcEngineWithParameters

BYTE_API bytertc::IRtcEngine* bytertc::CreateByteRtcEngineWithParameters(
    const char* app_id,
    bytertc::IRtcEngineEventHandler* event_handler,
    const char* parameters)

创建 RTCEngine 实例。
此方法应该作为正常 SDK 流程中的第一步操作,通过创建一个 RTCEngine 实例,来使用 SDK 的其他能力。

传入参数

参数名 类型 说明
app_id const char* 每个应用的唯一标识符,由 VRTC 控制台随机生成的。不同的 AppId 生成的实例在 VRTC 中进行音视频通话完全独立,无法互通。
event_handler bytertc::IRtcEngineEventHandler* SDK 回调给应用层的 Callback 对象,详见 IRtcEngineEventHandler 。
parameters const char* JSON字符串,用以覆盖全局参数,详情可见 SetParameters

返回值

可用的 IRtcEngine 实例。

注意

DestroyByteRtcEngine

BYTE_API void bytertc::DestroyByteRtcEngine(
    bytertc::IRtcEngine* engine)

销毁由 CreateByteRtcEngine 创建的 RTCEngine 实例,并释放所有相关资源。

传入参数

参数名 类型 说明
engine bytertc::IRtcEngine* 由 CreateByteRtcEngine 返回的实例。

注意

EnablePerformanceCollect

BYTE_API void bytertc::EnablePerformanceCollect(
    bool enable)

设置引擎是否开启性能采集功能,默认为开启。

传入参数

参数名 类型 说明
enable bool • true:开启
• false:不开启

注意

GetErrorDescription

BYTE_API const char* bytertc::GetErrorDescription(
    int code)

获取错误码的描述

传入参数

参数名 类型 说明
code int 需要获取描述的错误码

返回值

错误码的描述

Feedback

BYTE_API int bytertc::Feedback(
    const char* data)

本次通话质量打分评价

传入参数

参数名 类型 说明
data const char* 上报的数据,JSON格式,必须包含以下5个字段:
grade: 打分 1~5
type: 反馈问题集合可多选,参考 PROBLEM_FEEDBACK
problem_desc: 其他问题描述
os_version: 系统版本
network_type: 网络类型, WiFi, 2g, 3g, 4g, 5g, 台式机填pc

返回值

IRtcEngine

class bytertc::IRtcEngine

引擎API IRtcEngine用IRtcEngineEventHandler 注册接口类方法向应用程序发送回调通知

Defined in : byte_rtc_engine_interface.h

成员函数

返回 名称
virtual int JoinChannel

函数说明

JoinChannel

virtual int bytertc::IRtcEngine::JoinChannel(
    const char* token,
    const char* channel_id,
    const char* uid,
    const char* info)

加入房间。用户调用此方法加入房间,在一个房间内的用户间可以相互通话。
用户调用 CreateByteRtcEngine 创建 RTC 引擎后,需调用此方法加入房间实现同其他用户进行音视频通话。如果用户调用此方法加入房间,则后续重复调用此方法均会失败,用户必须调用 LeaveChannel 退出当前房间后,才能加入下一个房间。
用户调用此方法加入房间成功后,会收到 OnJoinChannelSuccess 回调通知。

传入参数

参数名 类型 说明
token const char* 动态密钥,用于对登录用户进行鉴权验证。
进入房间需要携带 Token。测试时可使用控制台生成临时 Token ,正式上线需要使用密钥 SDK 在您的服务端生成并下发 Token 。
channel_id const char* 房间ID ,用户调用此接口加入的房间的房间ID 。
房间ID 为最大长度为128字节的非空字符串,支持的字符集范围为:
1. 26个大写字母 A ~ Z 。
2. 26个小写字母 a ~ z 。
3. 10个数字 0 ~ 9 。
4. 下划线"_", at符"@", 减号"-"。
uid const char* 用户ID ,用户调用此接口加入的房间时使用的用户ID 。
用户ID 为最大长度为128字节的非空字符串,支持的字符集范围为:
1. 26个大写字母 A ~ Z 。
2. 26个小写字母 a ~ z 。
3. 10个数字 0 ~ 9 。
4. 下划线"_", at符"@", 减号"-"。
info const char* 预留参数。

返回值

方法调用结果。
+ 0: 成功
+ -1: channel_id 为空,失败
+ -2: uid 为空,失败

注意

IRtcEngineLite

class bytertc::IRtcEngineLite

引擎 API

Defined in : byte_rtc_engine_lite_interface.h

成员函数

返回 名称
virtual const char* GetVersion
virtual void SetRecordingVolume
virtual void SetPlaybackVolume
virtual void StartMixScreenAudioToMainStream
virtual void StopMixScreenAudioToMainStream
virtual void SetScreenAudioVolumeBeforeMixing
virtual int EnableLocalAudio
virtual void MuteLocalAudio
virtual void SetExternalAudioSource
virtual void SetAudioDeviceObserver
virtual bool PushExternalAudioFrame
virtual bool PullExternalAudioFrame
virtual int StartAudioMixing
virtual void StopAudioMixing
virtual int PauseAudioMixing
virtual int ResumeAudioMixing
virtual int AdjustAudioMixingVolume
virtual int AdjustAudioMixingPlayoutVolume
virtual int AdjustAudioMixingPublishVolume
virtual int GetAudioMixingDuration
virtual int GetAudioMixingCurrentPosition
virtual int SetAudioMixingPosition
virtual int GetEffectVolume
virtual int SetVolumeOfEffect
virtual int PlayEffect
virtual int PreloadEffect
virtual int UnloadEffect
virtual int StopEffect
virtual int PauseEffect
virtual int ResumeEffect
virtual void SetEffectsVolume
virtual void StopAllEffects
virtual void PauseAllEffects
virtual void ResumeAllEffects
virtual void UnloadAllEffects
virtual void SetAudioPlayoutMixStream
virtual int GetAudioMixingStreamCachedFrameNum
virtual bool PushAudioMixingStreamData
virtual int EnableLocalVideo
virtual int SetVideoEncoderConfig
virtual int SetLocalVideoCanvas
virtual int SetLocalVideoRender
virtual int SetLocalScreenRender
virtual int MuteLocalVideo
virtual int StartPreview
virtual int StopPreview
virtual int SwitchCamera
virtual bool PushScreenFrame
virtual int StartScreenCaptureByWindowId
virtual int StartScreenCaptureByScreenRect
virtual int StartScreenCaptureByDisplayId
virtual int UpdateScreenCaptureRegion
virtual int UpdateScreenCaptureParameters
virtual void StopScreenCapture
virtual IScreenCaptureSourceList* GetScreenCaptureSourceList
virtual IByteVideoFrame* GetThumbnail
virtual void SetExternalVideoSource
virtual bool PushExternalVideoFrame
virtual int SetPublishFallbackOption
virtual int SetSubscribeFallbackOption
virtual int SetRemoteUserPriority
virtual int SetBusinessId
virtual int ReplaceBackground
virtual void DisableBackground
virtual void SetLocalVideoMirrorMode
virtual bool GetLocalVideoMirrorMode
virtual void SetAudioPerformanceProfile
virtual void SetEncryptInfo
virtual void SetCustomizeEncryptHandler
virtual void SetRecordingAudioFrameParameters
virtual void SetPlaybackAudioFrameParameters
virtual void SetMixedAudioFrameParameters
virtual void RegisterAudioFrameObserver
virtual void RegisterVideoFrameObserver
virtual void RegisterMetadataObserver
virtual void EnableAutoPublish
virtual IVideoDeviceManager* GetVideoDeviceManager
virtual IAudioDeviceManager* GetAudioDeviceManager
virtual void RegisterRemoteAudioFrameObserver
virtual void SetRuntimeParameters

函数说明

GetVersion

virtual const char* bytertc::IRtcEngineLite::GetVersion(
    int* build)

获取当前 SDK 版本信息。

传入参数

参数名 类型 说明
build int* 保留值,暂时没用。

返回值

当前 SDK 版本信息。

SetRecordingVolume

virtual void bytertc::IRtcEngineLite::SetRecordingVolume(
    const int volume)

调节音频采集音量

传入参数

参数名 类型 说明
volume const int 音频采集音量,取值范围: [0,400]
• 0: 静音
• 100: 原始音量
• 400: 最大可为原始音量的 4 倍(自带溢出保护)

注意

为保证更好的通话质量,建议将 volume 值设为 [0,100]。

SetPlaybackVolume

virtual void bytertc::IRtcEngineLite::SetPlaybackVolume(
    const int volume)

调节本地播放的所有远端用户混音后的音量

传入参数

参数名 类型 说明
volume const int 音频播放音量,取值范围: [0,400]
• 0: 静音
• 100: 原始音量
• 400: 最大可为原始音量的 4 倍(自带溢出保护)

注意

为保证更好的通话质量,建议将 volume 值设为 [0,100]。

StartMixScreenAudioToMainStream

virtual void bytertc::IRtcEngineLite::StartMixScreenAudioToMainStream()

开启声卡采集,将声卡播放的音频流合到本地采集的音频流中。
如果你希望将声卡播放的声音传输到远端(比如屏幕共享等场景),你必须开启声卡采集。如此,声卡播放的声音会合到本地采集的音频流在中,一起发送到远端。

注意

StopMixScreenAudioToMainStream

virtual void bytertc::IRtcEngineLite::StopMixScreenAudioToMainStream()

关闭声卡采集,声卡播放的音频流不再合到本地采集的音频流中。

注意

如果需要开启声卡采集,请参看 StartMixScreenAudioToMainStream

SetScreenAudioVolumeBeforeMixing

virtual void bytertc::IRtcEngineLite::SetScreenAudioVolumeBeforeMixing(
    int volume)

调节本地声卡采集音量。
开启本地声卡采集后,你可以使用此接口调节采集音量。 关于如何开启本地声卡采集,参考 StartMixScreenAudioToMainStream。

传入参数

参数名 类型 说明
volume int 声卡采集音量,取值范围: [0,400]
• 0: 静音
• 100: 原始音量
• 400: 最大可为原始音量的 4 倍(自带溢出保护)

EnableLocalAudio

virtual int bytertc::IRtcEngineLite::EnableLocalAudio(
    bool enable)

开启/关闭本地音频采集。
调用该方法后,房间中的其他用户会收到 OnUserEnableLocalAudio 事件回调。

传入参数

参数名 类型 说明
enable bool • true: 开启本地音频采集(默认)
• false: 关闭本地音频采集

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

关闭本地音频采集后,依然会编码发送静音包,因此依然会有少量 CPU 和 网络带宽开销。

MuteLocalAudio

virtual void bytertc::IRtcEngineLite::MuteLocalAudio(
    MuteState mute_state)

控制本地音频流的发送状态:发送/不发送
使用此方法后,房间中的其他用户会收到回调: OnUserMuteAudio

传入参数

参数名 类型 说明
mute_state MuteState 发送状态,标识是否发送本地音频流,详见:MuteState

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

本方法仅控制本地音频流的发送状态,并不影响本地音频采集状态。

SetExternalAudioSource

virtual void bytertc::IRtcEngineLite::SetExternalAudioSource(
    bool enable,
    int sample_rate,
    unsigned int record_channels,
    unsigned int playout_channels)

设置是否启用外部音频采集渲染。

传入参数

参数名 类型 说明
enable bool • true: 启用自定义音频采集渲染
• false: 不启用自定义音频采集渲染
sample_rate int 音频采样率(单位HZ),可以设置的值有 8000,16000,32000,44100,48000
record_channels unsigned int 外部音频采集通道数,支持单通道(1)和双通道(2)
playout_channels unsigned int 外部音频渲染通道数,支持单通道(1)和双通道(2)

注意

SetAudioDeviceObserver

virtual void bytertc::IRtcEngineLite::SetAudioDeviceObserver(
    IAudioDeviceObserver* obs)

启动音频外部源采集渲染时,添加音频外部设备事件监控

传入参数

参数名 类型 说明
obs IAudioDeviceObserver* 音频外部设备事件监控,详见:IAudioDeviceObserver

PushExternalAudioFrame

virtual bool bytertc::IRtcEngineLite::PushExternalAudioFrame(
    int8_t* data,
    int samples)

推送外部音频数据。使用 SetExternalAudioSource 启用自定义音频采集渲染后,可以使用本方法推送外部音频数据。

传入参数

参数名 类型 说明
data int8_t* pcm 数据,内存大小应该为 samples
samples int 采样点数量,应该为 SetExternalAudioSource 中设置的 sample_rate / 100。
当设置采样率为48000时, 每次应该推送480个采样点

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

PullExternalAudioFrame

virtual bool bytertc::IRtcEngineLite::PullExternalAudioFrame(
    int8_t* data,
    int samples)

拉取远端音频数据。使用 SetExternalAudioSource 启用自定义音频采集渲染后,可以使用本方法拉取远端音频数据。

传入参数

参数名 类型 说明
data int8_t* pcm 数据,内存大小应该为 samples
samples int 采样点数量,应该为 SetExternalAudioSource 中设置的 sample_rate / 100。
当设置采样率为 48000 时, 每次应该拉取 480 个采样点

返回值

方法调用结果
+ true:方法调用成功
+ false:方法调用失败

注意

StartAudioMixing

virtual int bytertc::IRtcEngineLite::StartAudioMixing(
    const char* file_path,
    bool loopback,
    bool replace,
    int cycle)

开始播放音乐文件及混音。

传入参数

参数名 类型 说明
file_path const char* 指定需要混音的本地文件的绝对路径。支持音频文件格式有: mp3,aac,m4a,3gp,wav。
loopback bool • true: 只有本地可以听到混音或替换后的音频流。
• false: 本地和对方都可以听到混音或替换后的音频流
replace bool • true: 只推送设置的本地音频文件,不传输麦克风采集的音频。
• false: 音频文件内容将会和麦克风采集的音频流进行混音
cycle int 指定音频文件循环播放的次数。
• >0: 循环的次数。
• -1: 无限循环

返回值

注意

StopAudioMixing

virtual void bytertc::IRtcEngineLite::StopAudioMixing()

停止播放音乐文件及混音

注意

PauseAudioMixing

virtual int bytertc::IRtcEngineLite::PauseAudioMixing()

暂停播放音乐文件

返回值

注意

ResumeAudioMixing

virtual int bytertc::IRtcEngineLite::ResumeAudioMixing()

恢复播放音乐文件

返回值

注意

AdjustAudioMixingVolume

virtual int bytertc::IRtcEngineLite::AdjustAudioMixingVolume(
    int volume)

调节音乐文件的文件音量。为保证更好的音质,建议将 volume 值设为 [0,100]。

传入参数

参数名 类型 说明
volume int 音乐文件播放音量范围为 0~400。
• 0:静音
• 100:原始音量
• 400: 最大可调音量 (自带溢出保护)

返回值

注意

AdjustAudioMixingPlayoutVolume

virtual int bytertc::IRtcEngineLite::AdjustAudioMixingPlayoutVolume(
    int volume)

调节音乐文件的本地播放音量。为保证更好的音质,建议将 volume 值设为 [0,100]。

传入参数

参数名 类型 说明
volume int 音乐文件播放音量范围为 0~400。
• 0:静音
• 100:原始音量
• 400: 最大可调音量 (自带溢出保护)

返回值

注意

AdjustAudioMixingPublishVolume

virtual int bytertc::IRtcEngineLite::AdjustAudioMixingPublishVolume(
    int volume)

调节音乐文件的远端播放音量。为保证更好的音质,建议将 volume 值设为 [0,100]。

传入参数

参数名 类型 说明
volume int 音乐文件播放音量范围为 0~400。
• 0:静音
• 100:原始音量
• 400: 最大可调音量 (自带溢出保护)

返回值

注意

GetAudioMixingDuration

virtual int bytertc::IRtcEngineLite::GetAudioMixingDuration()

获取音乐文件时长

返回值

注意

请在房间内调用该方法。

GetAudioMixingCurrentPosition

virtual int bytertc::IRtcEngineLite::GetAudioMixingCurrentPosition()

获取音乐文件播放进度

返回值

注意

请在房间内调用该方法。

SetAudioMixingPosition

virtual int bytertc::IRtcEngineLite::SetAudioMixingPosition(
    int pos)

设置音频文件的播放位置

传入参数

参数名 类型 说明
pos int 整数。进度条位置,单位为毫秒。

返回值

注意

该方法可以设置音频文件的播放位置,这样你可以根据实际情况从指定的位置播放音乐文件,无需从头到尾完整播放一个音乐文件。

GetEffectVolume

virtual int bytertc::IRtcEngineLite::GetEffectVolume(
    int sound_id)

获取指定音效文件的文件音量

传入参数

参数名 类型 说明
sound_id int 音效ID,应用调用者维护,请保证唯一性。确保此处的 sound_id 与 PlayEffect 设置的
sound_id 相同。

返回值

注意

请在房间内调用该方法。

SetVolumeOfEffect

virtual int bytertc::IRtcEngineLite::SetVolumeOfEffect(
    int sound_id,
    int volume)

调节指定音效文件的文件音量

传入参数

参数名 类型 说明
sound_id int 音效ID,应用调用者维护,请保证唯一性。确保此处的 sound_id 与 PlayEffect 设置的
sound_id 相同。
volume int 音乐文件播放音量范围为 0~400。默认 100 为原始文件音量

返回值

注意

PlayEffect

virtual int bytertc::IRtcEngineLite::PlayEffect(
    int sound_id,
    const char* file_path,
    bool loopback,
    int cycle,
    int volume)

开始播放指定音效文件。你可以在该方法中设置音效文件的播放次数、音量大小,以及远端用户是否能听到该音效。

传入参数

参数名 类型 说明
sound_id int 音效ID,应用调用者维护,请保证唯一性。如果已经通过 PreloadEffect
将音效加载至内存,确保此处的 sound_id 与 PreloadEffect 设置的 sound_id 相同。
file_path const char* 指定需要混音的音频文件名和文件路径名。支持以下音频格式: mp3,aac,m4a,3gp,wav
loopback bool • true: 只有本地可以听到该音效。
• false: 本地和远端用户都可以听到该音效。
cycle int 指定音频文件循环播放的次数。
• >0:循环的次数。
• -1:无限循环,直至调用 StopEffect 或 StopAllEffects 后停止。
volume int 音效文件播放音量范围为 0~400。默认 100 为原始文件音量。

返回值

注意

PreloadEffect

virtual int bytertc::IRtcEngineLite::PreloadEffect(
    int sound_id,
    const char* file_path)

预加载指定音效文件。

传入参数

参数名 类型 说明
sound_id int 音效ID,应用调用者维护,请保证唯一性。
file_path const char* 指定需要混音的音频文件名和文件路径名。支持以下音频格式: mp3,aac,m4a,3gp,wav。

返回值

注意

+ 调用该方法预加载播放指定音效文件。预加载操作可以在进房间之前完成(所有混音相关接口,如果没有标注请在房间内调用都可在没有进入房间的时候调用)。如果音效文件很长,加载操作可能会耗时较长,建议应用开发者将预加载操作放在子线程进行。

UnloadEffect

virtual int bytertc::IRtcEngineLite::UnloadEffect(
    int sound_id)

卸载指定音效文件

传入参数

参数名 类型 说明
sound_id int 音效ID,应用调用者维护,请保证唯一性。

返回值

注意

StopEffect

virtual int bytertc::IRtcEngineLite::StopEffect(
    int sound_id)

停止播放指定音效文件

传入参数

参数名 类型 说明
sound_id int 音效ID,应用调用者维护,请保证唯一性。如果已经通过 PreloadEffect
将音效加载至内存,确保此处的 sound_id 与 PreloadEffect 设置的 sound_id 相同。

返回值

注意

PauseEffect

virtual int bytertc::IRtcEngineLite::PauseEffect(
    int sound_id)

暂停播放指定音效文件

传入参数

参数名 类型 说明
sound_id int 音效ID,应用调用者维护,请保证唯一性

返回值

注意

调用该方法暂停播放指定音效文件,可以调用 ResumeEffect 方法恢复播放。

ResumeEffect

virtual int bytertc::IRtcEngineLite::ResumeEffect(
    int sound_id)

恢复播放指定音效文件

传入参数

参数名 类型 说明
sound_id int 音效ID,应用调用者维护,请保证唯一性。

返回值

注意

SetEffectsVolume

virtual void bytertc::IRtcEngineLite::SetEffectsVolume(
    int volume)

调节所有音效文件的文件音量

传入参数

参数名 类型 说明
volume int 音乐文件播放音量范围为 0~400。默认 100 为原始文件音量。

注意

StopAllEffects

virtual void bytertc::IRtcEngineLite::StopAllEffects()

停止所有音效文件的播放

注意

该方法停止所有音效文件的播放。

PauseAllEffects

virtual void bytertc::IRtcEngineLite::PauseAllEffects()

暂停所有音效文件的播放。

注意

调用该方法暂停所有音效文件的播放,可调用 ResumeAllEffects 方法恢复播放。

ResumeAllEffects

virtual void bytertc::IRtcEngineLite::ResumeAllEffects()

恢复所有音效文件的播放

注意

UnloadAllEffects

virtual void bytertc::IRtcEngineLite::UnloadAllEffects()

卸载所有音效文件

注意

SetAudioPlayoutMixStream

virtual void bytertc::IRtcEngineLite::SetAudioPlayoutMixStream(
    bool enable,
    int sample_rate,
    int channel_num)

启动/停止外部音频流混音, 并设置混音数据格式

传入参数

参数名 类型 说明
enable bool • true: 启用外部音频流混音。
• false: 停止外部音频流混音。
sample_rate int 音频采样率,单位HZ。目前支持的采样率有:8000HZ, 16000HZ, 32000HZ, 44100HZ,48000HZ。
channel_num int 音频声道个数。目前支持单通道(1),双通道(2)

注意

GetAudioMixingStreamCachedFrameNum

virtual int bytertc::IRtcEngineLite::GetAudioMixingStreamCachedFrameNum()

获取SDK当前缓冲数据

返回值

注意

调用该方法可以实时获取缓存数据量,并以此数据为基准调整数据推送节奏来避免内存溢出

PushAudioMixingStreamData

virtual bool bytertc::IRtcEngineLite::PushAudioMixingStreamData(
    int8_t* audio_frame,
    int frame_num)

向SDK推送混音的音频数据

传入参数

参数名 类型 说明
audio_frame int8_t* PCM音频数据,其格式与 SetAudioPlayoutMixStream 保持一致。
frame_num int 采样点数量,应该为 SetAudioPlayoutMixStream 中设置的 sample_rate / 100。
当设置采样率为48000时, 每次应该推送480个采样点

返回值

注意

EnableLocalVideo

virtual int bytertc::IRtcEngineLite::EnableLocalVideo(
    bool enable)

该方法开启或关闭本地视频采集。本地视频采集默认为开启。
调用该方法后,房间中的其他用户会收到 OnUserEnableLocalVideo 回调。

传入参数

参数名 类型 说明
enable bool • true: 开启本地视频采集(默认)
• false: 关闭本地视频采集

返回值

注意

SetVideoEncoderConfig

virtual int bytertc::IRtcEngineLite::SetVideoEncoderConfig(
    const VideoSolution* solutions,
    int solution_num)

启动推送多路视频流,设置推送多路流时的各路视频参数, 包括分辨率,帧率,码率,缩放模式,网络不佳时的回退策略等。

传入参数

参数名 类型 说明
solutions const VideoSolution* 视频参数数组首地址。参看 VideoSolution。
solution_num int 视频参数数组长度

返回值

注意

SetLocalVideoCanvas

virtual int bytertc::IRtcEngineLite::SetLocalVideoCanvas(
    StreamIndex index,
    const VideoCanvas& canvas)

设置本地视频渲染时,使用的视图,并设置渲染模式。
你应在加入房间前,绑定本地视图。退出房间后,此设置仍然有效。 如果需要解除绑定,你可以调用本方法绑定空视图。

传入参数

参数名 类型 说明
index StreamIndex 视频流属性, 参看 StreamIndex
canvas const VideoCanvas& 视图信息和渲染模式,参看:VideoCanvas

返回值

SetLocalVideoRender

virtual int bytertc::IRtcEngineLite::SetLocalVideoRender(
    IVideoSink* sink)

设置本地视频渲染器 该方法设置本地视频外部渲染器。应用程序通过调用此接口绑定本地视频流的渲染器canvas。 在应用程序开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。退出频道后,绑定仍然有效, 如果需要解除绑定,可以指定空的VideoSink。

传入参数

参数名 类型 说明
sink IVideoSink* 外部渲染器,详见:IVideoSink

返回值

SetLocalScreenRender

virtual int bytertc::IRtcEngineLite::SetLocalScreenRender(
    IVideoSink* sink)

设置屏幕共享本地渲染器 该方法设置屏幕共享本地外部渲染器。应用通过调用此接口绑定本地屏幕共享流的渲染器 IVideoSink 。 在应用开发中,通常在初始化后调用该方法进行本地屏幕共享设置,然后再加入房间。退出房间后,绑定仍然有效, 如果需要解除绑定,可以指定空的 VideoSinkIVideoSink。

传入参数

参数名 类型 说明
sink IVideoSink* 外部渲染器,详见:IVideoSink

返回值

0 :成功; -1 :失败;

MuteLocalVideo

virtual int bytertc::IRtcEngineLite::MuteLocalVideo(
    MuteState muteState)

停止/启动发送本地视频流,默认不发送。
无论你使用 SDK 的视频采集编码功能,还是使用自定义采集功能,你都应使用此接口启动发送本地视频流。 调用该方法后,房间中的其他用户会收到 OnUserMuteVideo 的回调。

传入参数

参数名 类型 说明
muteState MuteState 参看 MuteState
• true:停止发送
• false:开启发送

返回值

注意

本方法只是停止本地视频流的发送,不影响视频采集状态。

StartPreview

virtual int bytertc::IRtcEngineLite::StartPreview()

开启本地视频预览

返回值

注意

StopPreview

virtual int bytertc::IRtcEngineLite::StopPreview()

停止本地视频预览

返回值

注意

退出房间会自动关闭相机

SwitchCamera

virtual int bytertc::IRtcEngineLite::SwitchCamera()

切换前后摄像头

返回值

注意

PushScreenFrame

virtual bool bytertc::IRtcEngineLite::PushScreenFrame(
    IByteVideoFrame* frame)

发送屏幕共享本地视频数据

传入参数

参数名 类型 说明
frame IByteVideoFrame* 设置屏幕视频帧,详见:IByteVideoFrame

返回值

注意

StartScreenCaptureByWindowId

virtual int bytertc::IRtcEngineLite::StartScreenCaptureByWindowId(
    view_t window_id,
    const Rectangle& region_rect,
    const DesktopCaptureParameters& capture_params)

该方法共享一个窗口或该窗口的部分区域。用户需要在该方法中指定想要共享的窗口 id 。

传入参数

参数名 类型 说明
window_id view_t 指定待共享的窗口 id,详见:view_t
region_rect const Rectangle& 指定共享区域相对于整个窗口的位置,当值都为0时共享整个窗口,详见:Rectangle
capture_params const DesktopCaptureParameters& 屏幕共享的编码参数配置,详见:DesktopCaptureParameters

返回值

注意

StartScreenCaptureByScreenRect

virtual int bytertc::IRtcEngineLite::StartScreenCaptureByScreenRect(
    const Rectangle& screen_rect,
    const Rectangle& region_rect,
    const DesktopCaptureParameters& capture_params)

通过指定区域共享屏幕,共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕区域。

传入参数

参数名 类型 说明
screen_rect const Rectangle& 指定待共享的屏幕相对于虚拟屏的位置,虚拟屏指所有屏幕组成的图像区域,详见:Rectangle
region_rect const Rectangle& 指定待共享区域相对于screen_rect的位置,详见:Rectangle
capture_params const DesktopCaptureParameters& 屏幕共享的编码参数配置,详见:DesktopCaptureParameters

返回值

注意

StartScreenCaptureByDisplayId

virtual int bytertc::IRtcEngineLite::StartScreenCaptureByDisplayId(
    unsigned int display_id,
    const Rectangle& region_rect,
    const DesktopCaptureParameters& capture_params)

通过屏幕 id 共享屏幕,共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕 id 。

传入参数

参数名 类型 说明
display_id unsigned int 指定待共享的屏幕 id 。
region_rect const Rectangle& 指定待共享区域相对于整个屏幕的位置,详见:Rectangle
capture_params const DesktopCaptureParameters& 屏幕共享的编码参数配置,详见:DesktopCaptureParameters

返回值

注意

共享一个窗口或该窗口的部分区域。需要在该方法中指定想要共享的窗口 id 。

UpdateScreenCaptureRegion

virtual int bytertc::IRtcEngineLite::UpdateScreenCaptureRegion(
    const Rectangle& region_rect)

更新屏幕共享区域。

传入参数

参数名 类型 说明
region_rect const Rectangle& • 当共享屏幕时,指定待共享区域相对于虚拟屏幕的位置,详见:Rectangle
• 当共享窗口时,指定待共享区域相对于整个窗口的位置,详见:Rectangle

返回值

UpdateScreenCaptureParameters

virtual int bytertc::IRtcEngineLite::UpdateScreenCaptureParameters(
    const DesktopCaptureParameters& capture_params)

更新屏幕共享的编码参数配置。

传入参数

参数名 类型 说明
capture_params const DesktopCaptureParameters& 屏幕共享的编码参数配置,详见:DesktopCaptureParameters

返回值

StopScreenCapture

virtual void bytertc::IRtcEngineLite::StopScreenCapture()

停止屏幕或者窗口共享。

注意

GetScreenCaptureSourceList

virtual IScreenCaptureSourceList* bytertc::IRtcEngineLite::GetScreenCaptureSourceList()

获取共享对象(应用窗口和桌面)列表, 使用完之后需要调用对应的release接口释放

GetThumbnail

virtual IByteVideoFrame* bytertc::IRtcEngineLite::GetThumbnail(
    ScreenCaptureSourceType type,
    view_t source_id,
    int max_width,
    int max_height)

获取共享对象缩略图

SetExternalVideoSource

virtual void bytertc::IRtcEngineLite::SetExternalVideoSource(
    bool enable)

设置外部视频输入源

传入参数

参数名 类型 说明
enable bool • true: 采用外部输入源
• false: 不采用外部输入源

注意

该方法应该在 StartPreview 与 JoinChannel 前使用

PushExternalVideoFrame

virtual bool bytertc::IRtcEngineLite::PushExternalVideoFrame(
    IByteVideoFrame* frame)

发送外部源视频数据

传入参数

参数名 类型 说明
frame IByteVideoFrame* 设置视频帧,详见 IByteVideoFrame

注意

SetPublishFallbackOption

virtual int bytertc::IRtcEngineLite::SetPublishFallbackOption(
    int option)

设置发布的音视频流回退选项

传入参数

参数名 类型 说明
option int 本地发布的音视频流回退选项
• 0:(默认)上行网络较弱或性能不佳时,不对音视频流作回退处理。
• 1:上行网络较弱或性能不佳时,只发送视频小流。

返回值

注意

SetSubscribeFallbackOption

virtual int bytertc::IRtcEngineLite::SetSubscribeFallbackOption(
    SubscribeFallbackOptions option)

设置订阅的音视频流回退选项

传入参数

参数名 类型 说明
option SubscribeFallbackOptions 远端订阅流回退处理选项,详见枚举类型 SubscribeFallbackOptions

返回值

0: 方法调用成功
+ <0: 方法调用失败

注意

SetRemoteUserPriority

virtual int bytertc::IRtcEngineLite::SetRemoteUserPriority(
    const char* user_id,
    RemoteUserPriority priority)

设置用户优先级

传入参数

参数名 类型 说明
user_id const char* 远端用户的 ID
priority RemoteUserPriority 远端用户的需求优先级,详见枚举类型RemoteUserPriority

返回值

0: 方法调用成功
+ <0: 方法调用失败

注意

SetBusinessId

virtual int bytertc::IRtcEngineLite::SetBusinessId(
    const char* business_id)

设置业务标识参数。
可通过 business_id 区分不同的业务场景(角色/策略等)。business_id 由客户自定义,相当于一个“标签”, 可以分担和细化现在 AppId 的逻辑划分的功能。

传入参数

参数名 类型 说明
business_id const char* 用户设置的自己的 business_id 值。business_id 相当于一个 sub AppId,可以分担和细化现在 AppId
的逻辑划分的功能, 但不需要鉴权。business_id 只是一个标签,颗粒度需要用户自定义。

返回值

注意

ReplaceBackground

virtual int bytertc::IRtcEngineLite::ReplaceBackground(
    BACKGROUND_MODE mode,
    DIVIDE_MODEL divide_model)

开启背景并设置背景模式与分割模式

传入参数

参数名 类型 说明
mode BACKGROUND_MODE 背景模式,详见枚举类型 BACKGROUND_MODE
divide_model DIVIDE_MODEL 分割模型,详见枚举类型 DIVIDE_MODEL

返回值

DisableBackground

virtual void bytertc::IRtcEngineLite::DisableBackground()

关闭背景

SetLocalVideoMirrorMode

virtual void bytertc::IRtcEngineLite::SetLocalVideoMirrorMode(
    MirrorMode mirrorMode)

设置采用前置摄像头采集时,是否开启镜像模式。
调用后,你会收到回调:OnMirrorStateChanged

传入参数

参数名 类型 说明
mirrorMode MirrorMode 是否开启镜像模式

GetLocalVideoMirrorMode

virtual bool bytertc::IRtcEngineLite::GetLocalVideoMirrorMode()

获得当前本地镜像状态

返回值

SetAudioPerformanceProfile

virtual void bytertc::IRtcEngineLite::SetAudioPerformanceProfile(
    AudioPerformanceProfile profile)

通过设置音频处理策略等级,获得不同的音频处理质量。默认使用 auto 模式。
此设置会影响音频采集端在音频采集后,发送前对音频的处理策略,达成不同的处理效果;
也会影响音频接收端在音频流接收后,播放前对音频的处理策略,达成不同的处理效果。
你应使用此方法,实现音频体验和系统性能占用之间的平衡:
如果你希望系统性能占用较低,你应设置较低的策略等级;如果你更在意音频质量,你应选择设置更高的策略等级。
一般情况下,你可使用 auto 模式(默认)。此时,sdk 会根据应用所在机型等级,自动适配音频处理策略。

传入参数

参数名 类型 说明
profile AudioPerformanceProfile 音频处理策略等级, 参看 AudioPerformanceProfile

注意

SetEncryptInfo

virtual void bytertc::IRtcEngineLite::SetEncryptInfo(
    ByteEngineEncryptType encrypt_type,
    const char* key,
    int key_size)

设置AES加密算法和加密密钥
有四种内置的加密算法,详见 ByteEngineEncryptType

传入参数

参数名 类型 说明
encrypt_type ByteEngineEncryptType 加密类型,详见 ByteEngineEncryptType
key const char* 加密密钥,长度限制为36位,超出部分将会被截断
key_size int 参数 key 的长度

注意

SetCustomizeEncryptHandler

virtual void bytertc::IRtcEngineLite::SetCustomizeEncryptHandler(
    IByteEngineEncryptHandler* handler)

设置自定义加密
需要实现对应的加密/解密方法,详情参考 ByteEngineEncryptType

传入参数

参数名 类型 说明
handler IByteEngineEncryptHandler* 自定义加密 handler,需要实现 handler 的加密和解密方法

注意

SetRecordingAudioFrameParameters

virtual void bytertc::IRtcEngineLite::SetRecordingAudioFrameParameters(
    int sample_rate,
    int channels)

设置本地麦克风录制的音频数据回调参数

传入参数

参数名 类型 说明
sample_rate int 音频采样率(单位HZ),可以设置的值有 8000,16000,32000,44100,48000
channels int 音频通道数,支持单声道(1)和双声道(2)

注意

使用本方法设置参数,并使用RegisterAudioFrameObserver注册数据观察者,之后可以在IAudioFrameObserver的 OnRecordAudioFrame收到数据

SetPlaybackAudioFrameParameters

virtual void bytertc::IRtcEngineLite::SetPlaybackAudioFrameParameters(
    int sample_rate,
    int channels)

设置远端所有用户音频数据混音后的音频数据回调参数

传入参数

参数名 类型 说明
sample_rate int 音频采样率(单位HZ),可以设置的值有 8000,16000,32000,44100,48000
channels int 音频通道数,支持单声道(1)和双声道(2)

注意

使用本方法设置参数,并使用RegisterAudioFrameObserver注册数据观察者,之后可以在IAudioFrameObserver的 OnPlaybackAudioFrame收到数据

SetMixedAudioFrameParameters

virtual void bytertc::IRtcEngineLite::SetMixedAudioFrameParameters(
    int sample_rate,
    int channels)

设置本地麦克风录制音频数据和远端所有用户音频数据混音后的音频数据回调参数

传入参数

参数名 类型 说明
sample_rate int 音频采样率(单位HZ),可以设置的值有 8000,16000,32000,44100,48000
channels int 音频通道数,支持单声道(1)和双声道(2)

注意

使用本方法设置参数,并使用RegisterAudioFrameObserver注册数据观察者,之后可以在IAudioFrameObserver的 OnMixedAudioFrame收到数据

RegisterAudioFrameObserver

virtual void bytertc::IRtcEngineLite::RegisterAudioFrameObserver(
    IAudioFrameObserver* observer)

注册音频数据回调观察者

传入参数

参数名 类型 说明
observer IAudioFrameObserver* 音频数据观察者,详见:IAudioFrameObserver

注意

本方法需要与下面3个方法配合使用:SetRecordingAudioFrameParameters、 SetPlaybackAudioFrameParameters、 SetMixedAudioFrameParameters

RegisterVideoFrameObserver

virtual void bytertc::IRtcEngineLite::RegisterVideoFrameObserver(
    IVideoFrameObserver* observer)

注册视频数据回调观察者

传入参数

参数名 类型 说明
observer IVideoFrameObserver* 数据回调函数,详见: IVideoFrameObserver 。

注意

RegisterMetadataObserver

virtual void bytertc::IRtcEngineLite::RegisterMetadataObserver(
    IMetadataObserver* observer)

注册 metadata 观察者,用于接收或发送 metadata,底层通过在视频帧中添加 SEI 数据实现该功能。
注册观察者后,发送的视频帧里面没有 SEI 信息, 会触发 OnReadyToSendMetadata 回调。
注册观察者后,接收的视频帧里面有 SEI 信息,会触发接收 OnMetadataReceived 回调。

传入参数

参数名 类型 说明
observer IMetadataObserver* metadata 观察者,详见:IMetadataObserver

注意

EnableAutoPublish

virtual void bytertc::IRtcEngineLite::EnableAutoPublish(
    bool auto_publish)

设置引擎自动发布属性

传入参数

参数名 类型 说明
engine bool auto_publish 要设置的引擎,详见:IRtcEngine
auto_publish bool 是否自动发布流,默认是true自动发布,设置false时可通过engine->publish()、engine->unpublish()来发布和取消发布本地流

注意

设置引擎是否自动发布用户的本地流,必须在joinChannel前调用。engine引擎默认auto_publish为true。当auto_publish为true时engine->publish()、 engine->unpublish()接口不应当被调用。

GetVideoDeviceManager

virtual IVideoDeviceManager* bytertc::IRtcEngineLite::GetVideoDeviceManager()

创建视频设备管理实例

传入参数

参数名 类型 说明
engine **** 用于创建视频设备管理实例的引擎,详见IRtcEngine

返回值

视频设备管理实例,详见IVideoDeviceManager

注意

当不再使用IVideoDeviceManager实例时,调用该实例的 Release接口,以免资源泄露

GetAudioDeviceManager

virtual IAudioDeviceManager* bytertc::IRtcEngineLite::GetAudioDeviceManager()

设备音频管理接口创建

传入参数

参数名 类型 说明
engine **** 要设置的引擎,详见:IRtcEngine

返回值

音频设备管理接口

RegisterRemoteAudioFrameObserver

virtual void bytertc::IRtcEngineLite::RegisterRemoteAudioFrameObserver(
    IRemoteAudioFrameObserver* observer)

注册音频数据回调观察者

传入参数

参数名 类型 说明
engine IRemoteAudioFrameObserver* observer 要设置的引擎,详见:IRtcEngine
observer IRemoteAudioFrameObserver* 音频数据回调观察者,详见:IRemoteAudioFrameObserver

注意

注册该回调,可以收到单个远端用户的PCM数据

SetRuntimeParameters

virtual void bytertc::IRtcEngineLite::SetRuntimeParameters(
    const char * json_string)

设置运行时的参数

传入参数

参数名 类型 说明
json_string const char* json 序列化之后的字符串

IRtcRoom

class bytertc::IRtcRoom

房间接口

Defined in : byte_rtc_room_interface.h

成员函数

返回 名称
virtual void SetClientRole
virtual void SetChannelProfile
virtual void LeaveChannel
virtual void RenewToken
virtual int64_t SendUserMessage
virtual int64_t SendUserBinaryMessage
virtual int64_t SendRoomMessage
virtual int64_t SendRoomBinaryMessage
virtual void PublishScreen
virtual void UnpublishScreen
virtual void SubscribeStream
virtual void Unsubscribe
virtual void SetAudioVolumeIndicationInterval
virtual void SetRemoteAudioPlaybackVolume
virtual void MuteAllRemoteAudio
virtual void MuteRemoteAudio
virtual void SetRemoteVideoCanvas
virtual void SetRemoteVideoRender
virtual void RemoveAllRemoteVideo
virtual void SetRemoteScreenRender
virtual void RemoveAllRemoteScreen
virtual void SetDefaultMuteAllRemoteVideoStreams
virtual int RemoteFirstVideoFrameRender
virtual void MuteAllRemoteVideo
virtual void MuteRemoteVideo
virtual void EnableAutoSubscribe

函数说明

SetClientRole

virtual void bytertc::IRtcRoom::SetClientRole(
    CLIENT_ROLE_TYPE role)

设置用户角色。
用户可通过设置用户角色,控制:1.是否发布音视频流;2.用户自身是否在房间中隐身。详见用户角色 CLIENT_ROLE_TYPE。
默认用户角色为主播角色 CLIENT_ROLE_BROADCASTER
房间模式(通过调用接口 SetChannelProfile 可设置房间模式)为直播模式、游戏模式、云游戏模式时,设置用户角色生效。房间模式为通信模式时不区分用户角色。

传入参数

参数名 类型 说明
role CLIENT_ROLE_TYPE 用户角色,详见 CLIENT_ROLE_TYPE 。

注意

SetChannelProfile

virtual void bytertc::IRtcRoom::SetChannelProfile(
    CHANNEL_PROFILE_TYPE profile_type)

设置房间模式。
通过设置房间模式,用户可以选择应用 SDK 针对不同房间模式场景的优化策略。
默认的房间模式为通信模式 CHANNEL_PROFILE_COMMUNICATION
房间模式必须在调用 JoinChannel 加入房间前设置,加入房间后设置不生效。设置用户角色(通过方法 SetClientRole )建议在设置完房间模式后。

传入参数

参数名 类型 说明
profile_type CHANNEL_PROFILE_TYPE 房间模式,详见 CHANNEL_PROFILE_TYPE 枚举类型。

注意

LeaveChannel

virtual void bytertc::IRtcRoom::LeaveChannel()

离开房间。
用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。
调用 JoinChannel 方法加入房间后,在通话结束时必须调用此方法结束通话,否则无法开始下一次通话。无论当前是否在房间中,都可以调用此方法。重复调用此方法不会有负面影响。
此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 OnLeaveChannel 回调通知。

注意

RenewToken

virtual void bytertc::IRtcRoom::RenewToken(
    const char* token)

更新 Token。
Token 有一定的有效期,当 Token 过期时,用户需调用此方法更新房间的 Token 信息。
用户调用 JoinChannel 方法加入房间时,如果使用了过期的 Token 将导致加入房间失败,并会收到 OnChannelError 回调通知,回调错误码为 BRERR_INVALID_TOKEN 。此时需要重新获取 Token ,并调用此方法更新 Token。

传入参数

参数名 类型 说明
token const char* 更新的动态密钥。Token 用于对登录用户进行鉴权验证。

注意

SendUserMessage

virtual int64_t bytertc::IRtcRoom::SendUserMessage(
    const char* uid,
    const char* message)

给房间内指定的用户发送消息,返回这次发送消息的编号。
调用该函数后会收到一次 OnUserMessageSendResult 回调,告知发送结果。

传入参数

参数名 类型 说明
uid const char* 指定用户 ID 。
message const char* 发送的消息内容。

返回值

这次发送消息的编号,从 1 开始递增。

注意

1.调用该函数后会收到一次OnUserMessageSendResult 回调; 2.若消息发送成功,则 uid 所指定的用户会收到 OnUserMessageReceived 回调。

SendUserBinaryMessage

virtual int64_t bytertc::IRtcRoom::SendUserBinaryMessage(
    const char* uid,
    int length,
    const uint8_t* message)

给房间内指定的用户发送二进制消息,返回这次发送消息的编号。

传入参数

参数名 类型 说明
uid const char* 指定用户 ID
length int 二进制字符串的长度
message const uint8_t* 发送的二进制消息内容

返回值

返回这次发送消息的编号,从 1 开始递增

注意

1.调用该函数后会收到一次 OnUserMessageSendResult 回调; 2.若消息发送成功,则 uid 所指定的用户会收到 OnUserBinaryMessageReceived 回调。

SendRoomMessage

virtual int64_t bytertc::IRtcRoom::SendRoomMessage(
    const char* message)

给房间内的所有其他用户发送广播消息。

传入参数

参数名 类型 说明
message const char* 用户发送的广播消息

注意

1.调用该函数后会收到一次 OnRoomMessageSendResult 回调; 2.同一房间内的其他用户会收到 OnRoomMessageReceived 回调。

SendRoomBinaryMessage

virtual int64_t bytertc::IRtcRoom::SendRoomBinaryMessage(
    int size,
    const uint8_t* message)

给房间内的所有其他用户发送广播消息。

传入参数

参数名 类型 说明
size int 发送的二进制消息长度
message const uint8_t* 用户发送的二进制广播消息

注意

1.调用该函数后会收到一次 OnRoomMessageSendResult 回调; 2.同一房间内的其他用户会收到 OnRoomBinaryMessageReceived 回调。

PublishScreen

virtual void bytertc::IRtcRoom::PublishScreen(
    const ScreenParameters& paramters)

发布本地屏幕共享流到房间。

传入参数

参数名 类型 说明
paramters const ScreenParameters& 屏幕共享流编码参数,详见 ScreenParameters

注意

UnpublishScreen

virtual void bytertc::IRtcRoom::UnpublishScreen()

停止发布本地屏幕共享流到房间。

注意

远端会收到 OnStreamRemove 事件。

SubscribeStream

virtual void bytertc::IRtcRoom::SubscribeStream(
    const char* user_id,
    const SubscribeConfig& info)

订阅指定的房间内远端音视频流。
关闭自动订阅功能,使用手动订阅模式时用户调用此方法按需订阅房间中的音视频流。
此方法仅在关闭自动订阅功能时生效。用户需在加入房间前调用 EnableAutoSubscribe 方法关闭自动订阅功能以使用手动订阅模式。
用户在自动订阅功能开启时调用此方法,SDK 不会订阅音视频流,并通过 OnChannelWarning 回调通知用户订阅失败,回调警告码为 BRWARN_SUBSCRIBE_STREAM_FORBIDEN 。
订阅流失败时,SDK 会按失败原因回调 OnChannelError 通知用户,具体错误可参考错误码 RTC_ERROR_CODE 描述。

传入参数

参数名 类型 说明
user_id const char* 指定订阅的远端用户的用户ID 。
info const SubscribeConfig& 选择订阅配置,详见数据结构 SubscribeConfig 。

注意

Unsubscribe

virtual void bytertc::IRtcRoom::Unsubscribe(
    const char* user_id,
    bool is_screen)

停止订阅指定的房间内远端音视频流。
关闭自动订阅功能,使用手动订阅模式时用户调用此方法停止订阅已订阅的音视频流。
此方法仅在关闭自动订阅功能时生效。用户需在加入房间前调用 EnableAutoSubscribe 方法关闭自动订阅功能以使用手动订阅模式。

传入参数

参数名 类型 说明
user_id const char* 指定停止订阅的远端音视频流的用户的ID。
is_screen bool 指定停止的流是不是屏幕流。

注意

SetAudioVolumeIndicationInterval

virtual void bytertc::IRtcRoom::SetAudioVolumeIndicationInterval(
    int interval)

设置是否开启房间内音量提示。
如果开启,将以设置的时间间隔收到音量事件回调。无论房间内有无发言,都会收到回调。 具体回调参看 OnAudioVolumeIndication

传入参数

参数名 类型 说明
interval int 收到音量提示回调的时间间隔
• ≤ 0:禁用音量提示功能。
• > 0:启用音量提示功能,并设置收到音量提示回调的时间间隔。单位为毫秒。
建议设置为大于等于 200 毫秒;小于 10 毫秒时,行为未定义。

SetRemoteAudioPlaybackVolume

virtual void bytertc::IRtcRoom::SetRemoteAudioPlaybackVolume(
    const char* user_id,
    int volume)

调节来自远端用户的音频播放音量

传入参数

参数名 类型 说明
user_id const char* 音频来源的远端用户 ID
volume int 播放音量,取值范围: [0,400]
• 0: 静音
• 100: 原始音量
• 400: 最大可为原始音量的 4 倍(自带溢出保护)

MuteAllRemoteAudio

virtual void bytertc::IRtcRoom::MuteAllRemoteAudio(
    MuteState mute_state)

设置对来自远端的所有音频流的接收状态。默认为接收。

传入参数

参数名 类型 说明
mute_state MuteState 接收状态。参看:MuteState

注意

本方法只影响本地是否接收远端音频流,并不影响远端音频设备的采集发送功能。

MuteRemoteAudio

virtual void bytertc::IRtcRoom::MuteRemoteAudio(
    const char* uid,
    MuteState mute_state)

设置对来自远端指定用户的音频流的接收状态。默认为接收。

传入参数

参数名 类型 说明
uid const char* 指定远端用户的 ID
mute_state MuteState 接收状态。参看:MuteState

注意

本方法只影响本地是否接收远端音频流,并不影响远端音频设备的采集发送功能。

SetRemoteVideoCanvas

virtual void bytertc::IRtcRoom::SetRemoteVideoCanvas(
    const char* user_id,
    StreamIndex index,
    const VideoCanvas& canvas)

设置来自指定远端用户 user_id 的视频渲染时,使用的视图,并设置渲染模式。
你应在加入房间前,绑定视图。退出房间后,此设置失效。
如果需要解除某个用户的绑定视图,你可以把 view 设置为空。

传入参数

参数名 类型 说明
user_id const char* 视频来源的远端用户 ID。
index StreamIndex 视频流属性, 参看 StreamIndex
canvas const VideoCanvas& 视图信息和渲染模式,参看:VideoCanvas

返回值

注意

SetRemoteVideoRender

virtual void bytertc::IRtcRoom::SetRemoteVideoRender(
    const char* uid,
    IVideoSink* render)

设置远端视频外部渲染器

传入参数

参数名 类型 说明
uid const char* 远端用户ID
render IVideoSink* 外部渲染器,详见:IVideoSink

注意

该方法绑定远程用户视频流的渲染器,如需解绑,设置为空即可。

RemoveAllRemoteVideo

virtual void bytertc::IRtcRoom::RemoveAllRemoteVideo()

去除所有远端视频。

SetRemoteScreenRender

virtual void bytertc::IRtcRoom::SetRemoteScreenRender(
    const char* uid,
    IVideoSink* render)

设置屏幕共享远端外部渲染器

传入参数

参数名 类型 说明
uid const char* 远端用户ID
render IVideoSink* 外部渲染器,详见:IVideoSink

注意

该方法绑定远端用户屏幕共享流的渲染器,如需解绑,设置为空即可。

RemoveAllRemoteScreen

virtual void bytertc::IRtcRoom::RemoveAllRemoteScreen()

去除屏幕共享所有远端视图。

SetDefaultMuteAllRemoteVideoStreams

virtual void bytertc::IRtcRoom::SetDefaultMuteAllRemoteVideoStreams(
    bool mute)

设置是否默认接收视频流.

传入参数

参数名 类型 说明
mute bool • true:禁止远端的视频
• false:开启远端的视频

注意

该方法在加入房间前后都可调用。如果在加入房间后调用,会接收不到后面加入房间的用户的视频流

RemoteFirstVideoFrameRender

virtual int bytertc::IRtcRoom::RemoteFirstVideoFrameRender(
    const char* userid,
    unsigned int elapse,
    int64_t timestamp)

远端首帧视频帧渲染.

传入参数

参数名 类型 说明
userid const char* 远端用户ID
elapse unsigned int 加入频道开始到该回调触发过去的时间(ms)
timestamp int64_t 当前时间的时间戳(ms)

返回值

MuteAllRemoteVideo

virtual void bytertc::IRtcRoom::MuteAllRemoteVideo(
    MuteState muteState)

设置是否播放所有远端视频流

传入参数

参数名 类型 说明
muteState MuteState 参看 MuteState
• true:停止播放
• false:开启播放

注意

本方法不影响远端视频采集和发送状态

MuteRemoteVideo

virtual void bytertc::IRtcRoom::MuteRemoteVideo(
    const char* userid,
    MuteState muteState)

设置是否播放远端视频流

传入参数

参数名 类型 说明
userid const char* 视频来源的远端用户 ID
muteState MuteState 参看 MuteState
• true:停止播放
• false:开启播放

注意

本方法不影响远端视频采集和发送状态

EnableAutoSubscribe

virtual void bytertc::IRtcRoom::EnableAutoSubscribe(
    SubscribeMode audio_mode,
    SubscribeMode video_mode)

设置订阅模式。
用户调用此方法设置房间中音视频流的订阅模式。SDK 默认使用自动订阅模式。
如需开启手动订阅功能,建议在调用 JoinChannel 方法加入房间前设置完成。

传入参数

参数名 类型 说明
audio_mode SubscribeMode 音频流的订阅模式。详见枚举类型 SubscribeMode。
video_mode SubscribeMode 视频流的订阅模式。详见枚举类型 SubscribeMode。

注意

IByteVideoFrame

class bytertc::IByteVideoFrame

视频帧

Defined in : byte_rtc_video_frame.h

静态函数

返回 名称
static IByteVideoFrame* build_video_frame

成员函数

返回 名称
virtual int frame_type
virtual int pixel_format
virtual int64_t timestamp_us
virtual int width
virtual int height
virtual int rotation
virtual int color_space
virtual int number_of_planes
virtual uint8_t* get_plane_data
virtual int get_plane_line_size
virtual uint8_t* get_extra_data_info
virtual uint8_t* get_supplementary_info
virtual void* get_hwaccel_buffer
virtual IByteVideoFrame* shallow_copy
virtual void release
virtual void to_i420

函数说明

build_video_frame

static IByteVideoFrame* bytertc::IByteVideoFrame::build_video_frame(
    const ByteVideoFrameBuilder& builder)

根据视频帧参数创建视频帧并返回指针

传入参数

参数名 类型 说明
ByteVideoFrameBuilder const 视频帧创建类对象,详见 ByteVideoFrameBuilder:ByteVideoFrameBuilder

返回值

返回后的视频帧指针

frame_type

virtual int bytertc::IByteVideoFrame::frame_type() const

获取视频帧类型

返回值

视频帧类型

pixel_format

virtual int bytertc::IByteVideoFrame::pixel_format() const

获取视频帧格式

返回值

视频帧格式

timestamp_us

virtual int64_t bytertc::IByteVideoFrame::timestamp_us() const

获取视频帧时间戳

返回值

视频帧时间戳,单位:微妙

width

virtual int bytertc::IByteVideoFrame::width() const

获取视频帧宽度

返回值

视频帧宽度

height

virtual int bytertc::IByteVideoFrame::height() const

获取视频帧高度

返回值

视频帧高度

rotation

virtual int bytertc::IByteVideoFrame::rotation() const

获取视频帧旋转角度

返回值

视频帧旋转角度

color_space

virtual int bytertc::IByteVideoFrame::color_space() const

获取视频帧颜色空间

返回值

视频帧颜色空间

number_of_planes

virtual int bytertc::IByteVideoFrame::number_of_planes() const

视频帧颜色 plane 数量

返回值

视频帧颜色 plane 数量

注意

yuv数据存储格式分为 plane 存储格式和pack存储格式,plane 格式中有 y,u,v 分开存储,pack 中 yuv 数据

get_plane_data

virtual uint8_t* bytertc::IByteVideoFrame::get_plane_data(
    int plane_index)

获取 plane 数据指针

传入参数

参数名 类型 说明
plane_index int plane
数据索引

get_plane_line_size

virtual int bytertc::IByteVideoFrame::get_plane_line_size(
    int plane_index)

获取 plane 中数据行的长度

传入参数

参数名 类型 说明
plane_index int plane
数据索引

get_extra_data_info

virtual uint8_t* bytertc::IByteVideoFrame::get_extra_data_info(
    int& size)

获取扩展数据指针

传入参数

参数名 类型 说明
size int& 扩展数据字节数

返回值

扩展数据的指针

get_supplementary_info

virtual uint8_t* bytertc::IByteVideoFrame::get_supplementary_info(
    int& size)

获取补充数据指针

传入参数

参数名 类型 说明
size int& 补充数据字节数

返回值

补充数据的指针

get_hwaccel_buffer

virtual void* bytertc::IByteVideoFrame::get_hwaccel_buffer()

获取本地缓冲区指针

返回值

本地缓冲区指针

shallow_copy

virtual IByteVideoFrame* bytertc::IByteVideoFrame::shallow_copy()

浅拷贝视频帧并返回指针

返回值

浅拷贝的视频帧的指针

release

virtual void bytertc::IByteVideoFrame::release()

释放视频帧

to_i420

virtual void bytertc::IByteVideoFrame::to_i420()

视频帧数据转为 YUV I420 格式

IVideoDeviceCollection

class bytertc::IVideoDeviceCollection

获取视频设备相关的信息

Defined in : byte_rtc_device_manager.h

成员函数

返回 名称
virtual int GetCount
virtual int GetDevice
virtual void Release

函数说明

GetCount

virtual int bytertc::IVideoDeviceCollection::GetCount()

获取当前系统内视频采集设备数量

返回值

视频采集设备数量

GetDevice

virtual int bytertc::IVideoDeviceCollection::GetDevice(
    int index,
    char device_name[MAX_DEVICE_ID_LENGTH],
    char device_id[MAX_DEVICE_ID_LENGTH])

根据索引号,获取设备信息

传入参数

参数名 类型 说明
index int 视频设备索引号,从0开始, 注意小于GetCount返回值
device_name char 视频设备名称
device_id char 视频设备ID

返回值

注意

使用方负责按MAX_DEVICE_ID_LENGTH大小,分配与释放内存

Release

virtual void bytertc::IVideoDeviceCollection::Release()

释放当前IVideoDeviceCollection对象占用的资源

注意

该结构不需要的时候应该调用本函数释放视频操作相关的资源

IVideoDeviceManager

class bytertc::IVideoDeviceManager

主要用于枚举、设置视频采集设备

Defined in : byte_rtc_device_manager.h

成员函数

返回 名称
virtual IVideoDeviceCollection* EnumerateVideoDevices
virtual int SetDevice
virtual int GetDevice
virtual void Release

函数说明

EnumerateVideoDevices

virtual IVideoDeviceCollection* bytertc::IVideoDeviceManager::EnumerateVideoDevices()

获取当前系统视频设备列表

返回值

一个包含系统中所有视频设备列表的对象,详见 IVideoDeviceCollection

注意

SetDevice

virtual int bytertc::IVideoDeviceManager::SetDevice(
    const char device_id[MAX_DEVICE_ID_LENGTH])

设置当前视频采集设备

传入参数

参数名 类型 说明
device_id const char 视频设备ID,可以通过EnumerateVideoDevices获取

返回值

GetDevice

virtual int bytertc::IVideoDeviceManager::GetDevice(
    char device_id[MAX_DEVICE_ID_LENGTH])

获取当前SDK正在使用的设备信息

传入参数

参数名 类型 说明
device_id char 视频设备ID

返回值

注意

使用方负责按MAX_DEVICE_ID_LENGTH大小,分配与释放内存

Release

virtual void bytertc::IVideoDeviceManager::Release()

释放当前IVideoDeviceManager

注意

不需要的时候应该调用本函数释放视频设备管理实例

IAudioDeviceCollection

class bytertc::IAudioDeviceCollection

音频设备列表。 EnumeratePlaybackDevices 返回音频播放设备列表。 EnumerateRecordingDevices 返回音频采集设备列表。

Defined in : byte_rtc_device_manager.h

成员函数

返回 名称
virtual int GetCount
virtual int GetDevice
virtual void Release

函数说明

GetCount

virtual int bytertc::IAudioDeviceCollection::GetCount()

获取设备列表中设备个数

返回值

设备列表中设备个数

注意

GetDevice

virtual int bytertc::IAudioDeviceCollection::GetDevice(
    int index,
    char device_name[MAX_DEVICE_ID_LENGTH],
    char device_id[MAX_DEVICE_ID_LENGTH])

根据索引,获取当前设备列表中设备信息

传入参数

参数名 类型 说明
index int 设备索引号,从0开始,注意小于 GetCount返回值
device_name char 设备名称,使用方负责按 MAX_DEVICE_ID_LENGTH 大小,分配与释放内存
device_id char 设备ID,使用方负责按 MAX_DEVICE_ID_LENGTH 大小,分配与释放内存

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

Release

virtual void bytertc::IAudioDeviceCollection::Release()

析构当前对象,释放内存

注意

严禁调用 delete 该结构体,该结构不需要的时候应该调用本函数释放音频操作相关的资源

IAudioDeviceManager

class bytertc::IAudioDeviceManager

音频设备管理类

Defined in : byte_rtc_device_manager.h

成员函数

返回 名称
virtual IAudioDeviceCollection* EnumeratePlaybackDevices
virtual IAudioDeviceCollection* EnumerateRecordingDevices
virtual int SetPlaybackDevice
virtual int SetRecordingDevice
virtual int SetPlaybackDeviceVolume
virtual int GetPlaybackDeviceVolume
virtual int SetRecordingDeviceVolume
virtual int GetRecordingDeviceVolume
virtual int SetPlaybackDeviceMute
virtual int GetPlaybackDeviceMute
virtual int SetRecordingDeviceMute
virtual int GetRecordingDeviceMute
virtual int GetPlaybackDevice
virtual int GetPlaybackDeviceInfo
virtual int GetRecordingDevice
virtual int GetRecordingDeviceInfo
virtual int StartPlaybackDeviceTest
virtual int StopPlaybackDeviceTest
virtual int StartAudioRecordingDeviceTest
virtual int StopAudioRecordingDeviceTest
virtual int StartAudioDeviceLoopbackTest
virtual int StopAudioDeviceLoopbackTest
virtual void Release

函数说明

EnumeratePlaybackDevices

virtual IAudioDeviceCollection* bytertc::IAudioDeviceManager::EnumeratePlaybackDevices()

创建音频播放设备列表,该集合包含你调用本接口时系统中的音频播放设备。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表.

返回值

音频播放设备列表,详见 IAudioDeviceCollection

注意

当不再使用返回的列表时,需要使用 Release 进行释放

EnumerateRecordingDevices

virtual IAudioDeviceCollection* bytertc::IAudioDeviceManager::EnumerateRecordingDevices()

创建音频采集设备列表,该集合包含你调用本接口时系统中的音频采集设备。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表.

返回值

音频采集设备列表,详见 IAudioDeviceCollection

注意

当不再使用返回的列表时,需要使用 Release 进行释放

SetPlaybackDevice

virtual int bytertc::IAudioDeviceManager::SetPlaybackDevice(
    const char device_id[MAX_DEVICE_ID_LENGTH])

设置音频播放设备

传入参数

参数名 类型 说明
device_id const char 音频播放设备ID, 可通过 EnumeratePlaybackDevices 获取。

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

SetRecordingDevice

virtual int bytertc::IAudioDeviceManager::SetRecordingDevice(
    const char device_id[MAX_DEVICE_ID_LENGTH])

设置音频采集设备

传入参数

参数名 类型 说明
device_id const char 音频采集设备ID, 可通过 EnumerateRecordingDevices 获取。

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

SetPlaybackDeviceVolume

virtual int bytertc::IAudioDeviceManager::SetPlaybackDeviceVolume(
    unsigned int volume)

设置音频播放设备音量

传入参数

参数名 类型 说明
volume unsigned int 音频播放设备音量, 取值范围 [0,255], 超出此范围设置无效

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

GetPlaybackDeviceVolume

virtual int bytertc::IAudioDeviceManager::GetPlaybackDeviceVolume(
    unsigned int* volume)

获取音频播放设备音量

传入参数

参数名 类型 说明
volume unsigned int* 音频播放设备音量, 取值范围 [0,255]

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

SetRecordingDeviceVolume

virtual int bytertc::IAudioDeviceManager::SetRecordingDeviceVolume(
    unsigned int volume)

设置音频采集设备音量

传入参数

参数名 类型 说明
volume unsigned int 音频采集设备音量, 取值范围 [0,255], 超出此范围设置无效

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

GetRecordingDeviceVolume

virtual int bytertc::IAudioDeviceManager::GetRecordingDeviceVolume(
    unsigned int* volume)

获取音频采集设备音量

传入参数

参数名 类型 说明
volume unsigned int* 音频采集设备音量, 取值范围 [0,255]

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

SetPlaybackDeviceMute

virtual int bytertc::IAudioDeviceManager::SetPlaybackDeviceMute(
    bool mute)

设置音频播放设备静音,默认为非静音。

传入参数

参数名 类型 说明
mute bool • true:静音
• false:非静音

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

GetPlaybackDeviceMute

virtual int bytertc::IAudioDeviceManager::GetPlaybackDeviceMute(
    bool* mute)

获取音频播放设备静音信息

传入参数

参数名 类型 说明
mute bool* • true:静音
• false:非静音

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

SetRecordingDeviceMute

virtual int bytertc::IAudioDeviceManager::SetRecordingDeviceMute(
    bool mute)

设置音频采集设备静音,默认为非静音

传入参数

参数名 类型 说明
mute bool • true:静音
• false:非静音

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

GetRecordingDeviceMute

virtual int bytertc::IAudioDeviceManager::GetRecordingDeviceMute(
    bool* mute)

获取音频采集设备静音信息

传入参数

参数名 类型 说明
mute bool* • true:静音
• false:非静音

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

GetPlaybackDevice

virtual int bytertc::IAudioDeviceManager::GetPlaybackDevice(
    char device_id[MAX_DEVICE_ID_LENGTH])

获取当前使用的音频播放设备ID

传入参数

参数名 类型 说明
device_id char 设备ID,使用方负责按 MAX_DEVICE_ID_LENGTH 大小,分配与释放内存

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

GetPlaybackDeviceInfo

virtual int bytertc::IAudioDeviceManager::GetPlaybackDeviceInfo(
    char device_id[MAX_DEVICE_ID_LENGTH],
    char device_name[MAX_DEVICE_ID_LENGTH])

获取当前音频播放设备信息

传入参数

参数名 类型 说明
device_id char 设备ID,使用方负责按 MAX_DEVICE_ID_LENGTH 大小,分配与释放内存
device_name char 设备名称,使用方负责按 MAX_DEVICE_ID_LENGTH 大小,分配与释放内存

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

GetRecordingDevice

virtual int bytertc::IAudioDeviceManager::GetRecordingDevice(
    char device_id[MAX_DEVICE_ID_LENGTH])

获取当前音频采集设备ID

传入参数

参数名 类型 说明
device_id char 设备ID,使用方负责按 MAX_DEVICE_ID_LENGTH 大小,分配与释放内存

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

GetRecordingDeviceInfo

virtual int bytertc::IAudioDeviceManager::GetRecordingDeviceInfo(
    char device_id[MAX_DEVICE_ID_LENGTH],
    char device_name[MAX_DEVICE_ID_LENGTH])

获取当前音频采集设备信息

传入参数

参数名 类型 说明
device_id char 设备ID,使用方负责按 MAX_DEVICE_ID_LENGTH 大小,分配与释放内存
device_name char 设备名称,使用方负责按 MAX_DEVICE_ID_LENGTH 大小,分配与释放内存

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

StartPlaybackDeviceTest

virtual int bytertc::IAudioDeviceManager::StartPlaybackDeviceTest(
    const char* test_audio_file_path)

启动音频播放设备测试 该方法测试播放设备是否能正常工作。SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。

传入参数

参数名 类型 说明
test_audio_file_path const char* 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式,支持以下音频格式: mp3,aac,m4a,3gp,wav

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

StopPlaybackDeviceTest

virtual int bytertc::IAudioDeviceManager::StopPlaybackDeviceTest()

停止音频播放设备测试。

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

调用 StartPlaybackDeviceTest 后,调用本方法停止测试。

StartAudioRecordingDeviceTest

virtual int bytertc::IAudioDeviceManager::StartAudioRecordingDeviceTest(
    int indication_interval)

启动音频采集设备测试。 该方法测试音频采集是否能正常工作,启动测试后,SDK 通过 OnAudioVolumeIndication 回调方法向应用上报音量信息

传入参数

参数名 类型 说明
indication_interval int OnAudioVolumeIndication
回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。小于10ms行为未定义

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

StopAudioRecordingDeviceTest

virtual int bytertc::IAudioDeviceManager::StopAudioRecordingDeviceTest()

停止音频采集设备测试。

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

调用 StartAudioRecordingDeviceTest 后,调用本方法停止测试。

StartAudioDeviceLoopbackTest

virtual int bytertc::IAudioDeviceManager::StartAudioDeviceLoopbackTest(
    int indication_interval)

开始音频设备回路测试。 该方法测试音频采集设备和音频播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地讲话声音 然后使用音频播放设备播放出来,同时 SDK 会通过 OnAudioVolumeIndication 回调向应用程序上报音量信息。

传入参数

参数名 类型 说明
indication_interval int OnAudioVolumeIndication
回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。小于10ms行为未定义

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

StopAudioDeviceLoopbackTest

virtual int bytertc::IAudioDeviceManager::StopAudioDeviceLoopbackTest()

停止音频设备回路测试。

返回值

方法调用结果
+ 0:方法调用成功
+ <0:方法调用失败

注意

调用 StartAudioDeviceLoopbackTest 后,调用本方法停止测试。

Release

virtual void bytertc::IAudioDeviceManager::Release()

析构当前对象,释放内存

注意

严禁调用 delete 该结构体,该结构不需要的时候应该调用本函数释放音频操作相关的资源