You need to enable JavaScript to run this app.
文档中心
实时音视频

实时音视频

复制全文
下载 pdf
Unity 3.58
API 详情
复制全文
下载 pdf
API 详情
IAudioDeviceManager
public interface bytertc.IAudioDeviceManager

音频设备管理。
不适用于移动端。

Defined in : IAudioDeviceManager.cs

成员函数

返回名称
IDeviceCollectionEnumerateAudioPlaybackDevices
IDeviceCollectionEnumerateAudioCaptureDevices
voidFollowSystemPlaybackDevice
voidFollowSystemCaptureDevice
intSetAudioPlaybackDevice
intSetAudioCaptureDevice
intSetAudioPlaybackDeviceVolume
intGetAudioPlaybackDeviceVolume
intSetAudioCaptureDeviceVolume
intGetAudioCaptureDeviceVolume
intSetAudioPlaybackDeviceMute
intGetAudioPlaybackDeviceMute
intSetAudioCaptureDeviceMute
intGetAudioCaptureDeviceMute
intGetAudioPlaybackDevice
intGetAudioCaptureDevice

函数说明

EnumerateAudioPlaybackDevices

IDeviceCollection bytertc.IAudioDeviceManager.EnumerateAudioPlaybackDevices();

获取当前系统内音频播放设备列表。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表。

返回值
包含系统中所有音频播放设备的列表,参看 IDeviceCollection。

EnumerateAudioCaptureDevices

IDeviceCollection bytertc.IAudioDeviceManager.EnumerateAudioCaptureDevices();

获取当前系统内音频采集设备列表。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表。

返回值
包含系统中所有音频采集设备的列表,参看 IDeviceCollection。

FollowSystemPlaybackDevice

void bytertc.IAudioDeviceManager.FollowSystemPlaybackDevice(
    Boolean followed)

设置音频播放路由是否跟随系统。

传入参数

参数名类型说明
followedBoolean• true: 跟随。此时,调用 SetAudioPlaybackDevice 会失败。
• false: 不跟随系统。此时,可以调用 SetAudioPlaybackDevice 进行设置。

FollowSystemCaptureDevice

void bytertc.IAudioDeviceManager.FollowSystemCaptureDevice(
    Boolean followed)

设置音频采集路由是否跟随系统。

传入参数

参数名类型说明
followedBoolean• true: 跟随。此时,调用 SetAudioCaptureDevice 会失败。
• false: 不跟随系统。此时,可以调用 SetAudioCaptureDevice 进行设置。

SetAudioPlaybackDevice

int bytertc.IAudioDeviceManager.SetAudioPlaybackDevice(
    string deviceID)

设置音频播放设备。

传入参数

参数名类型说明
deviceIDstring音频播放设备 ID,可通过 EnumerateAudioPlaybackDevices 获取。

返回值

  • 0: 成功
  • < 0:失败

SetAudioCaptureDevice

int bytertc.IAudioDeviceManager.SetAudioCaptureDevice(
    string deviceID)

设置音频采集设备。

传入参数

参数名类型说明
deviceIDstring音频采集设备 ID,可通过 EnumerateAudioCaptureDevices 获取。

返回值

  • 0: 成功
  • < 0:失败

SetAudioPlaybackDeviceVolume

int bytertc.IAudioDeviceManager.SetAudioPlaybackDeviceVolume(
    uint volume)

设置当前音频播放设备音量

传入参数

参数名类型说明
volumeuint音频播放设备音量,取值范围为 [0,255], 超出此范围设置无效。
• [0,25] 接近无声;
• [26,75] 为低音量;
• [76,204] 为中音量;
• [205,255] 为高音量。

返回值

  • 0: 成功
  • < 0:失败

GetAudioPlaybackDeviceVolume

int bytertc.IAudioDeviceManager.GetAudioPlaybackDeviceVolume(
    ref uint volume)

获取当前音频播放设备音量

传入参数

参数名类型说明
volumeref uint音频播放设备音量,范围应在 [0,255] 内。
• [0,25] 接近无声;
• [26,75] 为低音量;
• [76,204] 为中音量;
• [205,255] 为高音量。

返回值

  • 0: 成功
  • < 0:失败

SetAudioCaptureDeviceVolume

int bytertc.IAudioDeviceManager.SetAudioCaptureDeviceVolume(
    uint volume)

设置当前音频采集设备音量

传入参数

参数名类型说明
volumeuint音频采集设备音量,取值范围为 [0,255], 超出此范围设置无效。
• [0,25] 接近无声;
• [26,75] 为低音量;
• [76,204] 为中音量;
• [205,255] 为高音量。

返回值

注意
如果音频采集设备通过 SetAudioCaptureDeviceMute 被静音,则音量调节会在取消静音后生效。

GetAudioCaptureDeviceVolume

int bytertc.IAudioDeviceManager.GetAudioCaptureDeviceVolume(
    ref uint volume)

获取当前音频采集设备音量

传入参数

参数名类型说明
volumeref uint音频采集设备音量,范围应在 [0,255] 内。
• [0,25] 接近无声;
• [26,75] 为低音量;
• [76,204] 为中音量;
• [205,255] 为高音量。

返回值

  • 0: 成功
  • < 0:失败

SetAudioPlaybackDeviceMute

int bytertc.IAudioDeviceManager.SetAudioPlaybackDeviceMute(
    bool mute)

设置当前音频播放设备静音状态,默认为非静音。

传入参数

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

返回值

  • 0: 成功
  • < 0:失败

GetAudioPlaybackDeviceMute

int bytertc.IAudioDeviceManager.GetAudioPlaybackDeviceMute(
    ref bool mute)

获取当前音频播放设备是否静音的信息。

传入参数

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

返回值

  • 0: 成功
  • < 0:失败

SetAudioCaptureDeviceMute

int bytertc.IAudioDeviceManager.SetAudioCaptureDeviceMute(
    bool mute)

设置当前音频采集设备静音状态,默认为非静音。

传入参数

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

返回值

  • 0: 成功
  • < 0:失败

注意

  • 该方法用于静音整个系统的音频采集。
  • 设该方法为 true 静音后仍可通过 SetAudioCaptureDeviceVolume 调整采集音量,调整后的音量会在取消静音后生效。

GetAudioCaptureDeviceMute

int bytertc.IAudioDeviceManager.GetAudioCaptureDeviceMute(
    ref bool mute)

获取当前音频采集设备是否静音的信息。

传入参数

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

返回值

  • 0: 成功
  • < 0:失败

GetAudioPlaybackDevice

int bytertc.IAudioDeviceManager.GetAudioPlaybackDevice(
    ref string deviceID)

获取当前音频播放设备 ID。

传入参数

参数名类型说明
deviceIDref string音频播放设备 ID

返回值

  • 0: 成功
  • < 0:失败

GetAudioCaptureDevice

int bytertc.IAudioDeviceManager.GetAudioCaptureDevice(
    ref string deviceID)

获取当前音频采集设备 ID。

传入参数

参数名类型说明
deviceIDref string音频采集设备 ID,使用方负责按 MAX_DEVICE_ID_LENGTH 大小,分配与释放内存

返回值

  • 0: 成功
  • < 0:失败
IDeviceCollection
public interface bytertc.IDeviceCollection

媒体设备相关的信息

Defined in : IDeviceCollection.cs

成员函数

返回名称
intGetCount
intGetDevice
voidRelease

函数说明

GetCount

int bytertc.IDeviceCollection.GetCount();

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

返回值
音视频设备数量

GetDevice

int bytertc.IDeviceCollection.GetDevice(
    int index,
    ref string deviceName,
    ref string deviceID)

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

传入参数

参数名类型说明
indexint设备索引号,从 0 开始,注意需小于 GetCount 返回值。
deviceNameref string设备名称
deviceIDref string设备 ID

返回值

  • 0:方法调用成功,从已设定好的内容中成功读取设备信息。
  • !0:方法调用失败

Release

void bytertc.IDeviceCollection.Release();

释放当前 IDeviceCollection 对象占用的资源。

注意
不需要返回音视频设备相关信息列表时应该调用本方法释放相关资源。

IRangeAudio
public interface bytertc.IRangeAudio

范围语音接口。

Defined in : IRangeAudio.cs

成员函数

返回名称
voidEnableRangeAudio
intUpdateReceiveRange
intUpdatePosition
intSetAttenuationModel
voidSetNoAttenuationFlags
voidRelease

函数说明

EnableRangeAudio

void bytertc.IRangeAudio.EnableRangeAudio(
    bool enable)

开启/关闭范围语音功能。
范围语音是指,在同一 RTC 房间中设定的音频接收距离范围内,本地用户收听到的远端用户音频音量会随着远端用户的靠近/远离而放大/衰减;若远端用户在房间内的位置超出设定范围,则本地用户无法接收其音频。音频接收范围设置参看 UpdateReceiveRange。

传入参数

参数名类型说明
enablebool是否开启范围语音功能:
• true: 开启
• false: 关闭(默认)

注意
该方法进房前后都可调用,为保证进房后范围语音效果的平滑切换,你需在该方法前先调用 UpdateReceiveRange 设置自身位置坐标,然后开启该方法收听范围语音效果。

UpdateReceiveRange

int bytertc.IRangeAudio.UpdateReceiveRange(
    ReceiveRange range)

更新本地用户的音频收听范围。

传入参数

参数名类型说明
rangeReceiveRange音频收听范围,参看 ReceiveRange。

返回值
方法调用结果:

  • 0:成功;
  • !0: 失败。

UpdatePosition

int bytertc.IRangeAudio.UpdatePosition(
    Position pos)

更新本地用户在房间内空间直角坐标系中的位置坐标。

传入参数

参数名类型说明
posPosition三维坐标的值,默认为 [0, 0, 0],参看 Position。

返回值

  • 0:成功;
  • !0:失败。

注意
调用该接口更新坐标后,你需调用 EnableRangeAudio 开启范围语音功能以收听范围语音效果。

SetAttenuationModel

int bytertc.IRangeAudio.SetAttenuationModel(
    AttenuationType type,
    float coefficient)

设置范围语音的音量衰减模式。

传入参数

参数名类型说明
typeAttenuationType音量衰减模式。默认为线性衰减。详见 AttenuationType。
coefficientfloat指数衰减模式下的音量衰减系数,默认值为 1。范围 [0.1,100],推荐设置为 50。数值越大,音量的衰减速度越快。

返回值
调用是否成功

  • 0:调用成功
  • -1:调用失败。原因为在调用 EnableRangeAudio 开启范围语音前或进房前调用本接口

注意
音量衰减范围通过 UpdateReceiveRange 进行设置。

SetNoAttenuationFlags

void bytertc.IRangeAudio.SetNoAttenuationFlags(
    string[] flags,
    int len)

添加标签组,用于标记相互之间通话不衰减的用户组。
在同一个 RTC 房间中,如果多个用户的标签组之间有交集,那么,他们之间互相通话时,通话不衰减。
比如,用户身处多个队伍,队伍成员间通话不衰减。那么,可以为每个队伍绑定专属标签,每个用户的标签组包含用户所属各个队伍的标签。

传入参数

参数名类型说明
flagsstring[]标签组

Release

void bytertc.IRangeAudio.Release();

释放当前 IRangeAudio 对象占用的资源。

IRTCVideo
public interface bytertc.IRTCVideo

引擎接口

Defined in : IRTCVideo.cs

成员函数

返回名称
intCreateRTCVideo
voidRelease
stringGetErrorDescription
stringGetSDKVersion
intSetBusinessId
intFeedback
voidSetRuntimeParameters
IRTCVideoRoomCreateRTCRoom
intMuteAudioCapture
voidSetCaptureVolume
voidSetPlaybackVolume
voidStartAudioCapture
voidStopAudioCapture
voidSetAudioProfile
voidSetAudioScenario
intEnableAudioPropertiesReport
intSetVoiceReverbType
intSetVoiceChangerType
intSetLocalVoicePitch
intSetLocalVoiceEqualization
intSetLocalVoiceReverbParam
intEnableLocalVoiceReverb
intSetDummyCaptureImagePath
intSetVideoCaptureRotation
intSetVideoWatermark
intClearVideoWatermark
intEnableEffectBeauty
intSetBeautyIntensity
intGetAuthMessage
intFreeAuthMessage
intInitCVResource
intEnableVideoEffect
intDisableVideoEffect
intSetEffectNodes
intUpdateEffectNode
intSetColorFilter
intSetColorFilterIntensity
intEnableVirtualBackground
intDisableVirtualBackground
intVideoSDKEnableFaceDetection
intVideoSDKDisableFaceDetection
intSetVideoDigitalZoomConfig
intSetVideoDigitalZoomControl
intStartVideoDigitalZoomControl
intStopVideoDigitalZoomControl
voidSetEarMonitorMode
voidSetEarMonitorVolume
voidEnableVocalInstrumentBalance
intSetRemoteAudioPlaybackVolume
intSetDefaultAudioRoute
intSetAudioRoute
AudioRouteDeviceGetAudioRoute
intEnableAudioFrameCallback
intDisableAudioFrameCallback
intStartAudioRecording
intStopAudioRecording
intSendStreamSyncInfo
intSendSEIMessage
intEnableAudioProcessor
intDisableAudioProcessor
IAudioDeviceManagerGetAudioDeviceManager
IVideoDeviceManagerGetVideoDeviceManager
voidStartVideoCapture
voidStopVideoCapture
intSetVideoCaptureConfig
intSetVideoEncoderConfig1
intSetScreenVideoEncoderConfig
voidSetVideoSourceType
voidSetLocalVideoMirrorType
intSetVideoRotationMode
voidSetLocalVideoSink
voidSetRemoteVideoSink
IScreenCaptureSourceListGetScreenCaptureSourceList
intStartScreenVideoCapture
voidStopScreenVideoCapture
voidUpdateScreenCaptureRegion
voidUpdateScreenCaptureHighlightConfig
voidUpdateScreenCaptureMouseCursor
voidUpdateScreenCaptureFilterConfig
VideoFrameGetThumbnail
voidSetScreenAudioSourceType
voidSetScreenAudioStreamIndex
voidStartScreenAudioCapture
voidStopScreenAudioCapture
voidStartScreenCapture
intPushScreenAudioFrame
intSwitchCamera
intPushExternalAudioFrame
voidSetAudioSourceType
intPushExternalVideoFrame
intPushScreenVideoFrame

函数说明

CreateRTCVideo

int bytertc.IRTCVideo.CreateRTCVideo(
    RTCVideoEngineParams initParams)

创建 RTCVideoEngine 实例。
RTCVideoEngine 实例成功创建后,你才可以使用 SDK 提供的其他能力。

传入参数

参数名类型说明
initParamsRTCVideoEngineParams引擎初始化参数,参看 RTCVideoEngineParams。

Release

void bytertc.IRTCVideo.Release();

销毁由 CreateRTCVideo 所创建引擎实例,并释放所有相关资源。

注意

  • 你必须在所有业务场景的最后阶段调用该方法。该方法在调用之后,会销毁所有 SDK 相关的内存,并且停止与媒体服务器的任何交互。
  • 本方法为阻塞调用,会阻塞当前线程直到 SDK 彻底完成退出逻辑。因此,不可在回调线程中直接调用本方法;也不可在回调方法中等待主线程的执行而同时在主线程调用本方法,否则会造成死锁。

GetErrorDescription

string bytertc.IRTCVideo.GetErrorDescription(
    int code)

获取 SDK 内各种错误码、警告码的描述文字

传入参数

参数名类型说明
codeint警告码、错误码。

返回值
string 描述文字

GetSDKVersion

string bytertc.IRTCVideo.GetSDKVersion();

获取 SDK 当前的版本号。

返回值
SDK 当前的版本号。

SetBusinessId

int bytertc.IRTCVideo.SetBusinessId(
    string businessID)

设置业务标识参数。
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。

传入参数

参数名类型说明
businessIDstring用户设置的自己的 businessId 值
businessId 只是一个标签,颗粒度需要用户自定义。

返回值

  • 0: 成功
  • < 0: 失败
  • -6001: 用户已经在房间中。
  • -6002: 输入非法,合法字符包括所有小写字母、大写字母和数字,除此外还包括四个独立字符,分别是:英文句号,短横线,下划线和 @。

注意
需要在调用 JoinRoom 之前调用,之后调用该方法无效。

Feedback

int bytertc.IRTCVideo.Feedback(
    String roomID,
    String userID,
    List<int> typeArray,
    string problemDescription)

通话结束,将用户反馈的问题上报到 RTC。

传入参数

参数名类型说明
roomIDString房间 ID。
userIDString用户 ID。
typeArrayList预设问题列表,参看 ProblemFeedbackOption。
problemDescriptionstring预设问题以外的其他问题的具体描述。

返回值

  • 0: 上报成功。
  • -3: 上报失败。

注意

  • 如果用户上报时在房间内,那么问题会定位到用户当前所在的一个或多个房间;
  • 如果用户上报时不在房间内,那么问题会定位到引擎此前退出的房间。

SetRuntimeParameters

void bytertc.IRTCVideo.SetRuntimeParameters(
    string jsonString)

设置运行时的参数。

传入参数

参数名类型说明
jsonStringstringjson 序列化之后的字符串。

CreateRTCRoom

IRTCVideoRoom bytertc.IRTCVideo.CreateRTCRoom(
    string roomID)

创建房间

传入参数

参数名类型说明
roomIDstring标识通话房间的房间 ID,最大长度为 128 字节的非空字符串。支持的字符集范围为:
• 26 个大写字母 A ~ Z
• 26 个小写字母 a ~ z
• 10 个数字 0 ~ 9
• 下划线 "_", at 符 "@", 减号 "-"
多房间模式下,调用创建房间接口后,请勿调用同样的 roomID 创建房间,否则会导致创建房间失败。

返回值
IRTCVideoRoom 创建的房间 IRTCVideoRoom

注意

  • 用户可以多次调用此方法创建多个 IRTCVideoRoom 对象,再分别调用各 IRTCVideoRoom 对象的 JoinRoom 方法,实现同时加入多个房间;
  • 加入多个房间后,用户可以同时订阅各房间的音频流,同一时间仅能在一个房间内发布音频流。

MuteAudioCapture

int bytertc.IRTCVideo.MuteAudioCapture(
    StreamIndex index,
    bool mute)

Available since 3.58.1

设置是否将录音信号静音(不改变本端硬件)。

传入参数

参数名类型说明
indexStreamIndex流索引,指定调节主流/屏幕流音量,参看 StreamIndex。
mutebool是否静音音频采集。
• True:静音(关闭麦克风)
• False:(默认)开启麦克风

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

注意

  • 该方法支持选择静音或取消静音麦克风采集,而不影响 SDK 音频流发布状态。
  • 静音后通过 SetCaptureVolume 调整音量不会取消静音状态,音量状态会保存至取消静音。
  • 调用 StartAudioCapture 开启音频采集前后,都可以使用此接口设置采集音量。

SetCaptureVolume

void bytertc.IRTCVideo.SetCaptureVolume(
    StreamIndex index,
    int volume)

调节音频采集音量

传入参数

参数名类型说明
indexStreamIndex流索引,指定调节主流还是调节屏幕流的音量,参看 StreamIndex
volumeint采集的音量值和原始音量的比值,范围是 [0, 400],单位为 %,自带溢出保护。
为保证更好的通话质量,建议将 volume 值设为 [0,100]。
• 0:静音
• 100:原始音量
• 400: 最大可为原始音量的 4 倍(自带溢出保护)

注意
在开启音频采集前后,你都可以使用此接口设定采集音量。

SetPlaybackVolume

void bytertc.IRTCVideo.SetPlaybackVolume(
    int volume)

调节本地播放的所有远端用户音频混音后的音量,混音内容包括远端人声、音乐、音效等。

传入参数

参数名类型说明
volumeint播放音量,调节范围:[0,400]
为保证更好的通话质量,建议将 volume 值设为 [0,100]。
• 0:静音
• 100:原始音量
• 400: 最大可为原始音量的 4 倍(自带溢出保护)

StartAudioCapture

void bytertc.IRTCVideo.StartAudioCapture();

开启内部音频采集。默认为关闭状态。
内部采集是指:使用 RTC SDK 内置的采集机制。
调用该方法开启后,本地用户会收到 OnAudioDeviceStateChangedEventHandler 的回调。
可见用户进房后调用该方法,房间中的其他用户会收到 OnUserStartAudioCaptureEventHandler 的回调。

注意

  • 若未取得当前设备的麦克风权限,调用该方法后会触发 OnAudioDeviceStateChangedEventHandler 回调,对应的错误码为 MediaDeviceError.kMediaDeviceErrorDeviceNoPermission = 1。
  • 调用 StopAudioCapture 可以关闭音频采集设备,否则,SDK 只会在销毁引擎的时候自动关闭设备。
  • 创建引擎后,无论是否发布音频数据,你都可以调用该方法开启音频采集,并且调用后方可发布音频。

StopAudioCapture

void bytertc.IRTCVideo.StopAudioCapture();

立即关闭内部音频采集。默认为关闭状态。
内部采集是指:使用 RTC SDK 内置的采集机制。
调用该方法,本地用户会收到 OnAudioDeviceStateChangedEventHandler 的回调。
可见用户进房后调用该方法,房间中的其他用户会收到 OnUserStopAudioCaptureEventHandler 的回调。

注意

  • 调用 StartAudioCapture 可以开启内部音频采集设备。
  • 如果不调用本方法停止内部采集,则只有当销毁引擎实例时,内部音频采集才会停止。

SetAudioProfile

void bytertc.IRTCVideo.SetAudioProfile(
    AudioProfileType audioProfile)

设置音质档位。你应根据业务场景需要选择适合的音质档位。

传入参数

参数名类型说明
audioProfileAudioProfileType音质档位,参看 AudioProfileType

注意

  • 该方法在进房前后均可调用;
  • 支持通话过程中动态切换音质档位。

SetAudioScenario

void bytertc.IRTCVideo.SetAudioScenario(
    AudioScenarioType scenario)

设置音频场景类型

传入参数

参数名类型说明
scenarioAudioScenarioType音频场景类型,参看 AudioScenarioType。

注意
该方法在进房前后均可调用。

EnableAudioPropertiesReport

int bytertc.IRTCVideo.EnableAudioPropertiesReport(
    AudioPropertiesConfig config)

启用音频信息提示。

传入参数

参数名类型说明
configAudioPropertiesConfig详见 AudioPropertiesConfig

注意
开启提示后,你可以:+ 通过 OnLocalAudioPropertiesReportEventHandler 回调获取本地麦克风和屏幕音频流采集的音频信息;

SetVoiceReverbType

int bytertc.IRTCVideo.SetVoiceReverbType(
    VoiceReverbType type)

设置混响特效类型

传入参数

参数名类型说明
typeVoiceReverbType混响特效类型,参看 VoiceReverbType

注意

  • 在进房前后都可设置。
  • 对 RTC SDK 内部采集的音频和自定义采集的音频都生效。
  • 只对单声道音频生效。
  • 只在包含美声特效能力的 SDK 中有效。

SetVoiceChangerType

int bytertc.IRTCVideo.SetVoiceChangerType(
    VoiceChangerType voice_changer)

设置变声特效类型

传入参数

参数名类型说明
voice_changerVoiceChangerType变声特效类型,参看 VoiceChangerType。

返回值
方法调用结果:

  • 0:成功;
  • !0:失败。

注意

  • 在进房前后都可设置。
  • 对 RTC SDK 内部采集的音频和自定义采集的音频都生效。
  • 只对单声道音频生效。
  • 与 SetVoiceReverbType 互斥,后设置的特效会覆盖先设置的特效。
  • 在 Windows 端使用此功能前,必须额外接入 音频技术。请联系技术支持了解详情。

SetLocalVoicePitch

int bytertc.IRTCVideo.SetLocalVoicePitch(
    int pitch)

开启本地语音变调功能,多用于 K 歌场景。
使用该方法,你可以对本地语音的音调进行升调或降调等调整。

传入参数

参数名类型说明
pitchint相对于语音原始音调的升高/降低值,取值范围[-12,12],默认值为 0,即不做调整。
取值范围内每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调,设置的绝对值越大表示音调升高或降低越多。
超出取值范围则设置失败,并且会触发 OnWarningEventHandler 回调,提示 WarningCode 错误码为 WARNING_CODE_SET_SCREEN_STREAM_INVALID_VOICE_PITCH 设置语音音调不合法

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

SetLocalVoiceEqualization

int bytertc.IRTCVideo.SetLocalVoiceEqualization(
    VoiceEqualizationConfig config)

设置本地采集语音的均衡效果。包含内部采集和外部采集,但不包含混音音频文件。

传入参数

参数名类型说明
configVoiceEqualizationConfig语音均衡效果,参看 VoiceEqualizationConfig

返回值

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

注意
根据奈奎斯特采样率,音频采样率必须大于等于设置的中心频率的两倍,否则,设置不生效。

SetLocalVoiceReverbParam

int bytertc.IRTCVideo.SetLocalVoiceReverbParam(
    VoiceReverbConfig param)

设置本地采集音频的混响效果。包含内部采集和外部采集,但不包含混音音频文件。

传入参数

参数名类型说明
paramVoiceReverbConfig混响效果,参看 VoiceReverbConfig

返回值

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

注意
调用 EnableLocalVoiceReverb 开启混响效果。

EnableLocalVoiceReverb

int bytertc.IRTCVideo.EnableLocalVoiceReverb(
    bool enable)

开启本地音效混响效果

传入参数

参数名类型说明
enablebool是否开启

返回值

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

注意
调用 SetLocalVoiceReverbParam 设置混响效果。

SetDummyCaptureImagePath

int bytertc.IRTCVideo.SetDummyCaptureImagePath(
    string file_path)

摄像头处于关闭状态时,使用静态图片填充本地推送的视频流。
调用 stopVideoCapture 接口时,会开始推静态图片。若要停止发送图片,可传入空字符串或启用内部摄像头采集。
可重复调用该接口来更新图片。

传入参数

参数名类型说明
file_pathstring设置静态图片的路径。
支持本地文件绝对路径,不支持网络链接,长度限制为 512 字节。
静态图片支持类型为 JPEG/JPG、PNG、BMP。
若图片宽高比与设置的编码宽高比不一致,图片会按编码高宽等比缩放,并裁剪长边。推流帧率与码率与设置的编码参数一致。

返回值

  • 0: 成功。
  • -2: 失败。确保传入的 file_path 为有效路径。
  • -12: 本方法不支持在 Audio SDK 中使用。

注意

  • 该接口只适用于 SDK 内部摄像头采集,不适用于自定义视频采集。
  • 本地预览无法看到静态图片。
  • 进入房间前后均可调用此方法。在多房间场景中,静态图片仅在发布的房间中生效。
  • 针对该静态图片,滤镜和镜像效果不生效,水印效果生效。
  • 只有主流能设置静态图片,屏幕流不支持设置。
  • 开启大小流后,静态图片对大小流均生效,且针对小流进行等比例缩小。

SetVideoCaptureRotation

int bytertc.IRTCVideo.SetVideoCaptureRotation(
    VideoRotation rotation)

设置本端采集的视频帧的旋转角度。
当摄像头倒置或者倾斜安装时,可调用本接口进行调整。

传入参数

参数名类型说明
rotationVideoRotation相机朝向角度,默认为 kVideoRotation0,无旋转角度。详见 VideoRotation。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

注意

  • 调用本接口也将对自定义采集视频画面生效,在原有的旋转角度基础上叠加本次设置。
  • 视频贴纸特效或通过 EnableVirtualBackground 增加的虚拟背景,也会跟随本接口的设置进行旋转。

SetVideoWatermark

int bytertc.IRTCVideo.SetVideoWatermark(
    StreamIndex stream_index,
    string image_path,
    RTCWatermarkConfig config)

在指定视频流上添加水印。

传入参数

参数名类型说明
stream_indexStreamIndex需要添加水印的视频流属性,参看 StreamIndex。
image_pathstring水印图片路径,仅支持本地文件绝对路径,长度限制为 512 字节。
水印图片为 PNG 或 JPG 格式。
configRTCWatermarkConfig水印参数,参看 RTCWatermarkConfig。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

注意

  • 调用 ClearVideoWatermark 移除指定视频流的水印。
  • 同一路流只能设置一个水印,新设置的水印会代替上一次的设置。你可以多次调用本方法来设置不同流的水印。
  • 若开启本地预览镜像,或开启本地预览和编码传输镜像,则远端水印均不镜像;在开启本地预览水印时,本端水印会镜像。
  • 开启大小流后,水印对大小流均生效,且针对小流进行等比例缩小。

ClearVideoWatermark

int bytertc.IRTCVideo.ClearVideoWatermark(
    StreamIndex stream_index)

移除指定视频流的水印。

传入参数

参数名类型说明
stream_indexStreamIndex需要移除水印的视频流属性,参看 StreamIndex。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

EnableEffectBeauty

int bytertc.IRTCVideo.EnableEffectBeauty(
    bool enable)

开启/关闭基础美颜。

传入参数

参数名类型说明
enablebool基础美颜开关
• true: 开启基础美颜
• false: 关闭基础美颜(默认)

返回值

  • 0: 调用成功。
  • –1001: RTC SDK 版本不支持此功能。
  • -12: 本方法不支持在 Audio SDK 中使用。
  • <0: 调用失败,特效 SDK 内部错误,具体错误码请参考错误码表。

注意

  • 本方法不能与高级视频特效接口共用。如已购买高级视频特效,建议参看集成指南使用高级美颜、特效、贴纸功能等。
  • 使用此功能需要集成特效 SDK,建议使用特效 SDK v4.4.2+ 版本。更多信息参看 Native 端基础美颜。
  • 调用 SetBeautyIntensity 设置基础美颜强度。若在调用本方法前没有设置美颜强度,则使用默认强度。各基础美颜模式的强度默认值分别为:美白 0.7,磨皮 0.8,锐化 0.5,清晰 0.7。
  • 本方法仅适用于视频源,不适用于屏幕源。

SetBeautyIntensity

int bytertc.IRTCVideo.SetBeautyIntensity(
    EffectBeautyMode beauty_mode,
    float intensity)

调整基础美颜强度。

传入参数

参数名类型说明
beauty_modeEffectBeautyMode基础美颜模式,参看 EffectBeautyMode。
intensityfloat美颜强度,取值范围为 [0,1]。强度为 0 表示关闭。
各基础美颜模式的强度默认值分别为:美白 0.7,磨皮 0.8,锐化 0.5,清晰 0.7。

返回值

  • 0: 调用成功。
  • -2: intensity 取值范围应为 [0,1]。
  • –1001: RTC SDK 版本不支持此功能。
  • <0: 调用失败,特效 SDK 内部错误,具体错误码请参考错误码表。

注意

  • 若在调用 EnableEffectBeauty 前设置美颜强度,则对应美颜功能的强度初始值会根据设置更新。
  • 销毁引擎后,美颜功能强度恢复默认值。

GetAuthMessage

int bytertc.IRTCVideo.GetAuthMessage(
    ref IntPtr ppmsg,
    ref int len)

从特效 SDK 获取授权消息,用于获取在线许可证。

传入参数

参数名类型说明
ppmsgref IntPtr指向授权消息字符串地址
lenref int授权消息字符串的长度

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

注意

  • 使用视频特效的功能前,你必须获取特效 SDK 的在线许可证。
  • 通过此接口获取授权消息后,你必须参考 在线授权说明 自行实现获取在线许可证的业务逻辑。获取许可证后,你必须调用 InitCVResource 确认许可证有效。然后,你才可以使用 CV 功能。
  • 获取授权消息后,调用 FreeAuthMessage 释放内存。

FreeAuthMessage

int bytertc.IRTCVideo.FreeAuthMessage(
    string pmsg)

使用完授权消息字符串后,释放内存。

传入参数

参数名类型说明
pmsgstringgetAuthMessage 返回的授权消息字符串。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

InitCVResource

int bytertc.IRTCVideo.InitCVResource(
    string license_file_path,
    string algo_model_dir)

检查视频特效证书,设置算法模型路径,并初始化特效模块。

传入参数

参数名类型说明
license_file_pathstring证书文件的绝对路径,用于鉴权。
algo_model_dirstring算法模型绝对路径,即存放特效 SDK 所有算法模型的目录。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

EnableVideoEffect

int bytertc.IRTCVideo.EnableVideoEffect();

开启高级美颜、滤镜等视频特效。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

注意

DisableVideoEffect

int bytertc.IRTCVideo.DisableVideoEffect();

关闭视频特效。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

注意
调用 EnableVideoEffect 开启视频特效。

SetEffectNodes

int bytertc.IRTCVideo.SetEffectNodes(
    string[] effect_node_paths,
    int node_num)

设置视频特效素材包。

传入参数

参数名类型说明
effect_node_pathsstring[]特效素材包绝对路径数组。
要取消当前视频特效,将此参数设置为 null。
node_numint特效素材包个数。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

注意
调用本方法前,必须先调用 EnableVideoEffect。

UpdateEffectNode

int bytertc.IRTCVideo.UpdateEffectNode(
    string effect_node_path,
    string node_key,
    float node_value)

设置特效强度。

传入参数

参数名类型说明
effect_node_pathstring特效素材包绝对路径,参考素材包结构说明。
node_keystring需要设置的素材 key 名称,参考素材 key 对应说明。
node_valuefloat特效强度值,取值范围 [0,1],超出范围时设置无效。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

SetColorFilter

int bytertc.IRTCVideo.SetColorFilter(
    string res_path)

设置颜色滤镜。

传入参数

参数名类型说明
res_pathstring滤镜资源包绝对路径。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

注意
调用 SetColorFilterIntensity 设置已启用颜色滤镜的强度。设置强度为 0 时即关闭颜色滤镜。

SetColorFilterIntensity

int bytertc.IRTCVideo.SetColorFilterIntensity(
    float intensity)

设置已启用颜色滤镜的强度。

传入参数

参数名类型说明
intensityfloat滤镜强度。取值范围 [0,1],超出范围时设置无效。
当设置滤镜强度为 0 时即关闭颜色滤镜。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

EnableVirtualBackground

int bytertc.IRTCVideo.EnableVirtualBackground(
    string background_sticker_path,
    VirtualBackgroundSource source)

将摄像头采集画面中的人像背景替换为指定图片或纯色背景。

传入参数

参数名类型说明
background_sticker_pathstring背景贴纸特效素材绝对路径。
sourceVirtualBackgroundSource背景贴纸对象,参看 VirtualBackgroundSource。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

注意

DisableVirtualBackground

int bytertc.IRTCVideo.DisableVirtualBackground();

关闭虚拟背景。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

注意
调用 EnableVirtualBackground 开启虚拟背景后,可以调用此接口关闭虚拟背景。

VideoSDKEnableFaceDetection

int bytertc.IRTCVideo.VideoSDKEnableFaceDetection(
    uint interval_ms,
    string face_model_path)

开启人脸识别功能,并设置人脸检测结果回调观察者。
回调此观察者后,你会周期性收到 OnFaceDetectResultEventHandler 回调。

传入参数

参数名类型说明
interval_msuint两次回调之间的最小时间间隔,必须大于 0,单位为毫秒。实际收到回调的时间间隔大于 interval_ms,小于 interval_ms+视频采集帧间隔。
face_model_pathstring人脸检测算法模型文件路径,一般为 ttfacemodel 文件夹中 tt_face_vXXX.model 文件的绝对路径。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • -1004: 初始化中,初始化完成后启动此功能。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

VideoSDKDisableFaceDetection

int bytertc.IRTCVideo.VideoSDKDisableFaceDetection();

关闭人脸识别功能。

返回值

  • 0: 调用成功。
  • –1000: 未集成特效 SDK。
  • –1001: 特效 SDK 不支持该功能。
  • –1002: 特效 SDK 版本不兼容。
  • < 0: 调用失败,错误码对应具体描述参看 错误码表。

SetVideoDigitalZoomConfig

int bytertc.IRTCVideo.SetVideoDigitalZoomConfig(
    ZoomConfigType type,
    float size)

Available since 3.51

设置本地摄像头数码变焦参数,包括缩放倍数,移动步长。

传入参数

参数名类型说明
typeZoomConfigType数码变焦参数类型,缩放系数或移动步长。参看 ZoomConfigType。必填。
sizefloat缩放系数或移动步长,保留到小数点后三位。默认值为 0。必填。
选择不同 type 时有不同的取值范围。当计算后的结果超过缩放和移动边界时,取临界值。
• kZoomConfigTypeFocusOffset:缩放系数增量,范围为 [0, 7]。例如,设置为 0.5 时,如果调用 SetVideoDigitalZoomControl 选择 Zoom in,则缩放系数增加 0.5。缩放系数范围 [1,8],默认为 1,原始大小。
• kZoomConfigTypeMoveOffset:移动百分比,范围为 [0, 0.5],默认为 0,不移动。如果调用 SetVideoDigitalZoomControl 选择的是左右移动,则移动距离为 size x 原始视频宽度;如果选择的是上下移动,则移动距离为 size x 原始视频高度。例如,视频帧边长为 1080 px,设置为 0.5 时,实际移动距离为 0.5 x 1080 px = 540 px。

返回值

  • 0:成功。
  • !0:失败。
    @note
  • 每次调用本接口只能设置一种参数。如果缩放系数和移动步长都需要设置,分别调用本接口传入相应参数。
  • 由于移动步长的默认值为 0 ,在调用 SetVideoDigitalZoomControl 或 StartVideoDigitalZoomControl 进行数码变焦操作前,应先调用本接口。

SetVideoDigitalZoomControl

int bytertc.IRTCVideo.SetVideoDigitalZoomControl(
    ZoomDirectionType direction)

Available since 3.51

控制本地摄像头数码变焦,缩放或移动一次。设置对本地预览画面和发布到远端的视频都生效。

传入参数

参数名类型说明
directionZoomDirectionType数码变焦操作类型,参看 ZoomDirectionType。

返回值

  • 0:成功。
  • !0:失败。
    @note
  • 由于默认步长为 0,调用该方法前需通过 SetVideoDigitalZoomConfig 设置参数。
  • 调用该方法进行移动前,应先使用本方法或 StartVideoDigitalZoomControl 进行放大,否则无法移动。
  • 当数码变焦操作超出范围时,将置为临界值。例如,移动到了图片边界、放大到了 8 倍、缩小到原图大小。
  • 如果你希望实现持续数码变焦操作,调用 StartVideoDigitalZoomControl。
  • 移动端可对摄像头进行光学变焦控制,参看 setCameraZoomRatio。

StartVideoDigitalZoomControl

int bytertc.IRTCVideo.StartVideoDigitalZoomControl(
    ZoomDirectionType direction)

Available since 3.51

开启本地摄像头持续数码变焦,缩放或移动。设置对本地预览画面和发布到远端的视频都生效。

传入参数

参数名类型说明
directionZoomDirectionType数码变焦操作类型,参看 ZoomDirectionType。

返回值

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

注意

  • 由于默认步长为 0,调用该方法前需通过 SetVideoDigitalZoomConfig 设置参数。
  • 调用该方法进行移动前,应先使用本方法或 SetVideoDigitalZoomControl 进行放大,否则无法移动。
  • 当数码变焦操作超出范围时,将置为临界值并停止操作。例如,移动到了图片边界、放大到了 8 倍、缩小到原图大小。
  • 你也可以调用 StopVideoDigitalZoomControl 手动停止控制。
  • 如果你希望实现单次数码变焦操作,调用 SetVideoDigitalZoomControl。
  • 移动端可对摄像头进行光学变焦控制,参看 setCameraZoomRatio。

StopVideoDigitalZoomControl

int bytertc.IRTCVideo.StopVideoDigitalZoomControl();

Available since 3.51

停止本地摄像头持续数码变焦。

返回值

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

注意
关于开始数码变焦,参看 StartVideoDigitalZoomControl。

SetEarMonitorMode

void bytertc.IRTCVideo.SetEarMonitorMode(
    EarMonitorMode mode)

打开/关闭耳返功能。

传入参数

参数名类型说明
modeEarMonitorMode耳返功能是否开启,详见 EarMonitorMode。

注意

  • 你必须在使用 RTC SDK 提供的内部音频采集功能时,使用耳返功能。
  • 耳返功能仅在连接了有线耳机时有效。
  • RTC SDK 支持硬件耳返和软件耳返。一般来说,硬件耳返的时延和音质等效果明显更佳。
  • 使用华为手机硬件耳返功能时,请添加华为硬件耳返的依赖配置
  • 关于你的应用能否使用硬件耳返功能,你需要联系终端厂商进行确认和开启白名单。此后,你必须联系技术支持,在 RTC 侧开启硬件耳返白名单。

SetEarMonitorVolume

void bytertc.IRTCVideo.SetEarMonitorVolume(
    int volume)

设置耳返音量。

传入参数

参数名类型说明
volumeint耳返音量,调节范围:[0,100],单位:%

注意
设置耳返音量前,你必须先调用 SetEarMonitorMode 打开耳返功能。

EnableVocalInstrumentBalance

void bytertc.IRTCVideo.EnableVocalInstrumentBalance(
    bool enable)

开启/关闭音量均衡功能。
开启音量均衡功能后,人声的响度会调整为 -16lufs。

传入参数

参数名类型说明
enablebool是否开启音量均衡功能:
• True: 是
• False: 否

SetRemoteAudioPlaybackVolume

int bytertc.IRTCVideo.SetRemoteAudioPlaybackVolume(
    string roomID,
    string userID,
    int volume)

调节来自指定远端用户的音频播放音量,默认为 100。

传入参数

参数名类型说明
userIDstring音频来源的远端用户 ID
volumeint播放音量,调节范围:[0,400]
• 0: 静音
• 100: 原始音量
• 400: 最大可为原始音量的 4 倍(自带溢出保护)

SetDefaultAudioRoute

int bytertc.IRTCVideo.SetDefaultAudioRoute(
    AudioRouteDevice route)

将默认的音频播放设备设置为听筒或扬声器。

传入参数

参数名类型说明
routeAudioRouteDevice音频播放设备。参看 AudioRouteDevice。仅支持听筒或扬声器。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

注意
对于音频路由切换逻辑,参见移动端设置音频路由。

SetAudioRoute

int bytertc.IRTCVideo.SetAudioRoute(
    AudioRouteDevice device)

设置当前音频播放路由。
音频播放路由发生变化时,会收到 OnAudioRouteChangedEventHandler 回调。

传入参数

参数名类型说明
deviceAudioRouteDevice音频播放路由,参见 AudioRouteDevice。
不支持 AudioRouteUnknown。
当音量类型为媒体音量时,此参数不可设置为 AudioRouteEarpiece;当音量模式为通话音量时,此参数不可设置为 AudioRouteHeadsetBluetooth 或 AudioRouteHeadsetUSB。

返回值

  • 0: 方法调用成功
  • < 0: 方法调用失败。失败原因参看 MediaDeviceWarning 回调。指定为 kAudioRouteUnknown 时将会失败。

注意

  • 连接有线或者蓝牙音频播放设备后,音频路由将自动切换至此设备。
  • 移除后,音频设备会自动切换回原设备。
  • 不同音频场景中,音频路由和发布订阅状态到音量类型的映射关系详见 AudioScenarioType。

GetAudioRoute

AudioRouteDevice bytertc.IRTCVideo.GetAudioRoute();

获取当前使用的音频播放路由。

返回值
详见 AudioRouteDevice

注意
要设置音频路由,详见 SetAudioRoute。

EnableAudioFrameCallback

int bytertc.IRTCVideo.EnableAudioFrameCallback(
    AudioFrameCallbackMethod method,
    AudioFormat format)

设置并开启指定的音频数据帧回调

传入参数

参数名类型说明
methodAudioFrameCallbackMethod音频回调方法,方法对应的回调名称参看 AudioFrameCallbackMethod。每次调用本接口设置一种回调。
当音频回调方法设置为 kAudioFrameCallbackRecord、kAudioFrameCallbackPlayback、kAudioFrameCallbackMixed、kAudioFrameCallbackRecordScreen时,你需要在参数 format 中指定准确的采样率和声道,暂不支持设置为自动。
当音频回调方法设置为 kAudioFrameCallbackRemoteUser时,暂不支持音频参数格式中设置准确的采样率和声道,你需要设置为自动。
formatAudioFormat音频参数格式,参看 AudioFormat。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

DisableAudioFrameCallback

int bytertc.IRTCVideo.DisableAudioFrameCallback(
    AudioFrameCallbackMethod method)

关闭音频回调

传入参数

参数名类型说明
methodAudioFrameCallbackMethod音频回调方法,参看 AudioFrameCallbackMethod。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

注意
该方法需要在调用 EnableAudioFrameCallback 之后调用。

StartAudioRecording

int bytertc.IRTCVideo.StartAudioRecording(
    AudioRecordingConfig config)

开始音频录制,并生成录音文件保存到本地。

传入参数

参数名类型说明
configAudioRecordingConfig参看 AudioRecordingConfig

返回值

  • 0: 正常
  • -2: 参数设置异常
  • -3: 当前版本 SDK 不支持该特性,请联系技术支持人员

注意

  • 调用该方法后,会立即启动录制任务并创建录音文件。
  • 录制包含各种音频效果。但不包含混音的背景音乐。
  • 录制本地麦克风的音频时,请确保已调用 startAudioCapture 接口打开麦克风采集。
  • 调用 StopAudioRecording 关闭录制。
  • 加入房间后才可调用。如果加入了多个房间,录制的文件中会包含各个房间的音频。离开最后一个房间后,录制任务自动停止。
  • 调用该方法后,你会收到 OnAudioRecordingStateUpdateEventHandler 回调。

StopAudioRecording

int bytertc.IRTCVideo.StopAudioRecording();

停止音频文件录制

返回值

  • 0: 正常
  • -3: 当前版本 SDK 不支持该特性,请联系技术支持人员

注意
调用 StartAudioRecording 开启本地录制后,你必须调用该方法停止录制。

SendStreamSyncInfo

int bytertc.IRTCVideo.SendStreamSyncInfo(
    byte[] data,
    int length,
    int stream_index,
    int repeat_count)

发送音频流同步信息。将消息通过音频流发送到远端,并实现与音频流同步,该接口调用成功后,远端用户会收到 OnStreamSyncInfoReceivedEventHandler 回调。

传入参数

参数名类型说明
databyte[]消息内容。
lengthint消息长度。取值范围是 [1,255] 字节,建议小于 16 字节,否则可能占用较大带宽。
stream_indexint指定携带 SEI 数据的媒体流类型,参看 StreamIndex。
语音通话场景下,该值需设为 kStreamIndexMain,否则 SEI 数据会被丢弃从而无法送达远端。
repeat_countint消息发送重复次数。取值范围是 [0, max{29, %{视频帧率}-1}]。推荐范围 [2,4]。
调用此接口后,SEI 数据会添加到从当前视频帧开始的连续 repeat_count+1 个视频帧中。

返回值

  • >=0: 消息发送成功。返回成功发送的次数。
  • -1: 消息发送失败。消息长度大于 255 字节。
  • -2: 消息发送失败。传入的消息内容为空。
  • -3: 消息发送失败。通过屏幕流进行消息同步时,此屏幕流还未发布。
  • -4: 消息发送失败。通过用麦克风或自定义设备采集到的音频流进行消息同步时,此音频流还未发布,详见错误码 ErrorCode。

注意

  • 调用本接口的频率建议不超过 50 次每秒。
  • 在 kRoomProfileTypeInteractivePodcast 房间模式下,此消息一定会送达。在其他房间模式下,如果本地用户未说话,此消息不一定会送达。

SendSEIMessage

int bytertc.IRTCVideo.SendSEIMessage(
    byte[] data,
    int length,
    int stream_index,
    int repeat_count,
    int sei_mode)

通过视频帧发送 SEI 数据。
在视频通话场景下,SEI 数据会随视频帧发送;在语音通话场景下,SDK 会自动生成一路 16px × 16px 的黑帧视频流用来发送 SEI 数据。

传入参数

参数名类型说明
databyte[]SEI 消息。
lengthintSEI 消息长度,建议每帧 SEI 数据总长度不超过 4 KB。
stream_indexint指定携带 SEI 数据的媒体流类型,参看 StreamIndex。
语音通话场景下,该值需设为 kStreamIndexMain,否则 SEI 数据会被丢弃从而无法送达远端。
repeat_countint消息发送重复次数。取值范围是 [0, max{29, %{视频帧率}-1}]。推荐范围 [2,4]。
调用此接口后,SEI 数据会添加到从当前视频帧开始的连续 repeat_count+1 个视频帧中。
sei_modeintSEI 发送模式。
• 0: 单发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 按队列逐帧发送。
• 1: 多发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。

返回值

  • >= 0: 将被添加到视频帧中的 SEI 的数量。
  • < 0: 发送失败。

注意

  • 每秒发送的 SEI 消息数量建议不超过当前的视频帧率。在语音通话场景下,黑帧帧率为 15 fps。
  • 语音通话场景中,仅支持在内部采集模式下调用该接口发送 SEI 数据。
  • 视频通话场景中,使用自定义采集并通过 PushExternalVideoFrame 推送至 SDK 的视频帧,若本身未携带 SEI 数据,也可通过本接口发送 SEI 数据;若原视频帧中已添加了 SEI 数据,则调用此方法不生效。
  • 视频帧仅携带前后 2s 内收到的 SEI 数据;语音通话场景下,若调用此接口后 1min 内未有 SEI 数据发送,则 SDK 会自动取消发布视频黑帧。
  • 消息发送成功后,远端会收到 OnSEIMessageReceivedEventHandler 回调。
  • 语音通话切换至视频通话时,会停止使用黑帧发送 SEI 数据,自动转为用采集到的正常视频帧发送 SEI 数据。
  • SEI PayLoadType 需为 5 或 100。

EnableAudioProcessor

int bytertc.IRTCVideo.EnableAudioProcessor(
    AudioProcessorMethod method,
    AudioFormat format)

设置并开启指定的音频帧回调,进行自定义处理。

传入参数

参数名类型说明
methodAudioProcessorMethod音频帧类型,参看 AudioProcessorMethod。可多次调用此接口,处理不同类型的音频帧。
选择不同类型的音频帧将收到对应的回调:
• 选择本地采集的音频时,会收到 OnProcessRecordAudioFrameEventHandler。
• 选择远端音频流的混音音频时,会收到 OnProcessPlaybackAudioFrameEventHandler。
• 选择远端音频流时,会收到 OnProcessRemoteUserAudioFrameEventHandler。
• 选择软件耳返音频时,会收到 OnProcessEarMonitorAudioFrameEventHandler。
• 选择屏幕共享音频流时,会收到 OnProcessScreenAudioFrameEventHandler。
formatAudioFormat设定自定义处理时获取的音频帧格式,参看 AudioFormat。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

注意
要关闭音频自定义处理,调用 DisableAudioProcessor。

DisableAudioProcessor

int bytertc.IRTCVideo.DisableAudioProcessor(
    AudioProcessorMethod method)

关闭自定义音频处理。

传入参数

参数名类型说明
methodAudioProcessorMethod音频帧类型,参看 AudioProcessorMethod。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

GetAudioDeviceManager

IAudioDeviceManager bytertc.IRTCVideo.GetAudioDeviceManager();

获取音频设备管理接口,该接口依赖引擎,不支持在移动端使用。

返回值
音频设备管理接口

GetVideoDeviceManager

IVideoDeviceManager bytertc.IRTCVideo.GetVideoDeviceManager();

获取视频设备管理接口

返回值
视频设备管理接口

StartVideoCapture

void bytertc.IRTCVideo.StartVideoCapture();

立即开启内部视频采集。默认为关闭状态。
内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。
调用该方法后,本地用户会收到 OnVideoDeviceStateChangedEventHandler 的回调。
本地用户在非隐身状态下调用该方法后,房间中的其他用户会收到 OnUserStartVideoCaptureEventHandler 的回调。

注意

  • 调用 StopVideoCapture 可以停止内部视频采集。否则,只有当销毁引擎实例时,内部视频采集才会停止。
  • 创建引擎后,无论是否发布视频数据,你都可以调用该方法开启内部视频采集。只有当(内部或外部)视频采集开始以后视频流才会发布。
  • 如果需要从自定义视频采集切换为内部视频采集,你必须先停止发布流,关闭自定义采集,再调用此方法手动开启内部采集。
  • 内部视频采集使用的摄像头由 SwitchCamera 接口指定。
  • 你还可以联系技术支持,帮助你在服务端配置采集格式并下发到 Android 端。

StopVideoCapture

void bytertc.IRTCVideo.StopVideoCapture();

立即关闭内部视频采集。默认为关闭状态。
内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。
调用该方法,本地用户会收到 OnVideoDeviceStateChangedEventHandler 的回调。
可见用户进房后调用该方法,房间中的其他用户会收到 OnUserStopVideoCaptureEventHandler 的回调。

注意

  • 调用 StartVideoCapture 可以开启内部视频采集。
  • 如果不调用本方法停止内部视频采集,则只有当销毁引擎实例时,内部视频采集才会停止。

SetVideoCaptureConfig

int bytertc.IRTCVideo.SetVideoCaptureConfig(
    VideoCaptureConfig videoCaptureConfig)

设置 RTC SDK 内部采集时的视频采集参数。
如果你的项目使用了 SDK 内部采集模块,可以通过本接口指定视频采集参数包括模式、分辨率、帧率。

传入参数

参数名类型说明
videoCaptureConfigVideoCaptureConfig视频采集参数。参看 VideoCaptureConfig。

返回值

  • 0: 成功
  • < 0: 失败

注意

  • 本接口在引擎创建后即可调用,建议在调用 StartVideoCapture 前调用本接口。
  • 建议同一设备上的不同 Engine 使用相同的视频采集参数。
  • 如果调用本接口前使用内部模块开始视频采集,采集参数默认为 Auto 模式。

SetVideoEncoderConfig1

int bytertc.IRTCVideo.SetVideoEncoderConfig1(
    VideoEncoderConfig maxSolution)

视频发布端设置期望发布的最大分辨率视频流参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。

传入参数

参数名类型说明
maxSolutionVideoEncoderConfig期望发布的最大分辨率视频流参数。参看 VideoEncoderConfig。

返回值

  • 0:成功
  • !0:失败

注意

  • 调用该方法设置多路视频流参数前,SDK 默认仅发布一条分辨率为 640px × 360px,帧率为 15fps 的视频流。
  • 该方法适用于摄像头采集的视频流,设置屏幕共享视频流参数参看 SetScreenVideoEncoderConfig。

SetScreenVideoEncoderConfig

int bytertc.IRTCVideo.SetScreenVideoEncoderConfig(
    ScreenVideoEncoderConfig screenSolution)

为发布的屏幕共享视频流设置期望的编码参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。

传入参数

参数名类型说明
screenSolutionScreenVideoEncoderConfig屏幕共享视频流参数。参看 ScreenVideoEncoderConfig。

返回值
方法调用结果:
0:成功
!0:失败

注意
调用该方法之前,屏幕共享视频流默认的编码参数为:分辨率 1920px × 1080px,帧率 15fps。

SetVideoSourceType

void bytertc.IRTCVideo.SetVideoSourceType(
    StreamIndex streamIndex,
    VideoSourceType type)

设置向 SDK 输入的视频源,包括屏幕流。
默认使用内部采集。内部采集指:使用 RTC SDK 内置的视频采集机制进行视频采集。

传入参数

参数名类型说明
streamIndexStreamIndex视频流的属性,参看 StreamIndex。
typeVideoSourceType视频输入源类型,参看 VideoSourceType。

注意

  • 该方法进房前后均可调用。
  • 当你已调用 StartVideoCapture 开启内部采集后,再调用此方法切换至自定义采集时,SDK 会自动关闭内部采集。
  • 当你调用此方法开启自定义采集后,想要切换至内部采集,你必须先调用此方法关闭自定义采集,然后调用 StartVideoCapture 手动开启内部采集。
  • 当你需要向 SDK 推送自定义编码后的视频帧,你需调用该方法将视频源切换至自定义编码视频源。

SetLocalVideoMirrorType

void bytertc.IRTCVideo.SetLocalVideoMirrorType(
    MirrorType mirrorType)

为采集到的视频流开启镜像

传入参数

参数名类型说明
mirrorTypeMirrorType镜像类型,参看 MirrorType

注意

  • 切换视频源不影响镜像设置。
  • 屏幕视频流始终不受镜像设置影响。
  • 该接口调用前,各视频源的初始状态如下:
前置摄像头后置摄像头自定义采集视频源 桌面端摄像头
移动端本地预览镜像,编码传输不镜像 本地预览不镜像,编码传输不镜像 本地预览不镜像,编码传输不镜像 /
桌面端// 本地预览不镜像,编码传输不镜像 本地预览镜像,编码传输不镜像

SetVideoRotationMode

int bytertc.IRTCVideo.SetVideoRotationMode(
    VideoRotationMode rotationMode)

设置采集视频的旋转模式。默认以 App 方向为旋转参考系。
接收端渲染视频时,将按照和发送端相同的方式进行旋转。

传入参数

参数名类型说明
rotationModeVideoRotationMode视频旋转参考系为 App 方向或重力方向,参看 VideoRotationMode

返回值

  • 0:设置成功
  • <0:设置失败

注意

  • 旋转仅对内部视频采集生效,不适用于外部视频源和屏幕源。
  • 调用该接口时已开启视频采集,将立即生效;调用该接口时未开启视频采集,则将在采集开启后生效。
  • 更多信息请参考视频采集方向。

SetLocalVideoSink

void bytertc.IRTCVideo.SetLocalVideoSink(
    StreamIndex index,
    VideoSinkPixelFormat requiredFormat)

将本地视频流与自定义渲染器绑定。

传入参数

参数名类型说明
indexStreamIndex视频流属性。采集的视频流/屏幕视频流,参看 StreamIndex
requiredFormatVideoSinkPixelFormatvideoSink 适用的视频帧编码格式,参看 VideoSinkPixelFormat

注意

  • RTC SDK 默认使用自带的渲染器(内部渲染器)进行视频渲染。
  • 进退房操作不会影响绑定状态。
  • 一般在收到 OnFirstLocalVideoFrameCapturedEventHandler 回调通知完成本地视频首帧采集后,调用此方法为视频流绑定自定义渲染器;然后加入房间。

SetRemoteVideoSink

void bytertc.IRTCVideo.SetRemoteVideoSink(
    RemoteStreamKey streamKey,
    VideoSinkPixelFormat requiredFormat)

将远端视频流与自定义渲染器绑定。

传入参数

参数名类型说明
streamKeyRemoteStreamKey远端流信息,用于指定需要渲染的视频流来源及属性,参看 RemoteStreamKey
requiredFormatVideoSinkPixelFormatvideoSink 适用的视频帧编码格式,参看 VideoSinkPixelFormat

注意

  • RTC SDK 默认使用 RTC SDK 自带的渲染器(内部渲染器)进行视频渲染。
  • 该方法进房前后均可以调用。若想在进房前调用,你需要在加入房间前获取远端流信息;若无法预先获取远端流信息,你可以在加入房间并通过 OnUserPublishStreamEventHandler 回调获取到远端流信息之后,再调用该方法。

GetScreenCaptureSourceList

IScreenCaptureSourceList bytertc.IRTCVideo.GetScreenCaptureSourceList();

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

返回值
屏幕共享对象列表,参看 IScreenCaptureSourceList

注意

  • 枚举的窗体可作为开启屏幕共享时的输入参数,详见:StartScreenVideoCapture
  • 本函数仅供PC端使用

StartScreenVideoCapture

int bytertc.IRTCVideo.StartScreenVideoCapture(
    ScreenCaptureSourceInfo sourceInfo,
    ScreenCaptureParameters captureParams)

使用 RTC SDK 提供的采集模块,采集当前屏幕视频流,用于共享。

传入参数

参数名类型说明
sourceInfoScreenCaptureSourceInfo屏幕共享对象信息。参看 ScreenCaptureSourceInfo。
captureParamsScreenCaptureParameters屏幕采集参数。参看 ScreenCaptureParameters。

返回值

  • 0 :开启成功
  • -1 :开启失败

注意

StopScreenVideoCapture

void bytertc.IRTCVideo.StopScreenVideoCapture();

停止屏幕视频流采集。

返回值

  • 0 :调用成功
  • -1 :调用失败

注意
调用此接口不影响屏幕视频流发布状态。

UpdateScreenCaptureRegion

void bytertc.IRTCVideo.UpdateScreenCaptureRegion(
    Rectangle regionRect)

通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新采集区域。

传入参数

参数名类型说明
regionRectRectangle采集区域。参见 Rectangle
此参数描述了调用此接口后的采集区域,和 StartScreenVideoCapture 中 source_info 设定区域的相对关系。

注意
调用此接口前,必须已通过调用 StartScreenVideoCapture 开启了内部屏幕流采集。

UpdateScreenCaptureHighlightConfig

void bytertc.IRTCVideo.UpdateScreenCaptureHighlightConfig(
    HighlightConfig highlightConfig)

通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新边框高亮设置。默认展示边框。

传入参数

参数名类型说明
highlightConfigHighlightConfig边框高亮设置。参见 HighlightConfig

注意
调用此接口前,必须已通过调用 StartScreenVideoCapture 开启了内部屏幕流采集。

UpdateScreenCaptureMouseCursor

void bytertc.IRTCVideo.UpdateScreenCaptureMouseCursor(
    MouseCursorCaptureState captureMouseCursor)

通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新对鼠标的处理设置。默认采集鼠标。

传入参数

参数名类型说明
captureMouseCursorMouseCursorCaptureState参看 MouseCursorCaptureState

注意
调用此接口前,必须已通过调用 StartScreenVideoCapture 开启了内部屏幕流采集。

UpdateScreenCaptureFilterConfig

void bytertc.IRTCVideo.UpdateScreenCaptureFilterConfig(
    ScreenFilterConfig filterConfig)

通过 RTC SDK 提供的采集模块采集屏幕视频流时,设置需要过滤的窗口。

传入参数

参数名类型说明
filterConfigScreenFilterConfig窗口过滤设置,参看 ScreenFilterConfig

注意

GetThumbnail

VideoFrame bytertc.IRTCVideo.GetThumbnail(
    ScreenCaptureSourceType type,
    IntPtr sourceID,
    int maxWidth,
    int maxHeight)

获取共享对象缩略图

传入参数

参数名类型说明
typeScreenCaptureSourceType屏幕采集对象的类型。详见 ScreenCaptureSourceType。
sourceIDIntPtr指向屏幕共享对象的 ID。
maxWidthint最大宽度
maxHeightint最大高度

SetScreenAudioSourceType

void bytertc.IRTCVideo.SetScreenAudioSourceType(
    AudioSourceType sourceType)

在屏幕共享时,设置屏幕音频的采集方式(内部采集/自定义采集)

传入参数

参数名类型说明
sourceTypeAudioSourceType屏幕音频输入源类型, 参看 AudioSourceType。

注意

  • 默认采集方式是 RTC SDK 内部采集。
  • 你应该在 PublishScreen 前,调用此方法。否则,你将收到 OnWarningEventHandler 的报错:WARNING_CODE_SET_SCREEN_AUDIO_SOURCE_TYPE_FAILED。
  • 如果设定为内部采集,你必须再调用 StartScreenVideoCapture 开始采集。
  • 如果设定为自定义采集,你必须再调用 PushScreenAudioFrame 将自定义采集到的屏幕音频帧推送到 RTC SDK。
  • 无论是内部采集还是自定义采集,你都必须调用 PublishScreen 发布采集到的屏幕音频流。

SetScreenAudioStreamIndex

void bytertc.IRTCVideo.SetScreenAudioStreamIndex(
    StreamIndex index)

在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式

传入参数

参数名类型说明
indexStreamIndex混流方式,参看 StreamIndex
• kStreamIndexMain: 将屏幕音频流和麦克风采集到的音频流混流
• kStreamIndexScreen: 将屏幕音频流和麦克风采集到的音频流分为两路音频流

注意
你应该在 PublishScreen 之前,调用此方法。否则,你将收到 OnWarningEventHandler 的报错:WARNING_CODE_SET_SCREEN_STREAM_INDEX_FAILED

StartScreenAudioCapture

void bytertc.IRTCVideo.StartScreenAudioCapture();

在屏幕共享时,开始使用 RTC SDK 内部采集方式,采集屏幕音频

注意

  • 本接口仅对内部采集生效,RTC SDK 默认使用内部采集模块采集屏幕音频。若已调用 SetScreenAudioSourceType 将音频输入源设置为 kAudioSourceTypeExternal 自定义采集,需先切换为 kAudioSourceTypeInternal 内部采集,否则该接口调用无效,并将触发 OnAudioDeviceWarningEventHandler 回调。
  • 采集后,你还需要调用 PublishScreen 将采集到的屏幕音频推送到远端。
  • 要关闭屏幕音频内部采集,调用 StopScreenAudioCapture。

StopScreenAudioCapture

void bytertc.IRTCVideo.StopScreenAudioCapture();

在屏幕共享时,停止使用 RTC SDK 内部采集方式,采集屏幕音频。

注意

StartScreenCapture

void bytertc.IRTCVideo.StartScreenCapture(
    ScreenMediaType type,
    string bundleId)

使用 RTC SDK 内部采集模块开始采集屏幕音频流和(或)视频流。

传入参数

参数名类型说明
typeScreenMediaType媒体类型,参看 ScreenMediaType。
bundleIdstring绑定 Extension 的 Bundle ID,绑定后在应用中,共享屏幕的选择列表中只展示你的 Extension 可供选择。

注意

PushScreenAudioFrame

int bytertc.IRTCVideo.PushScreenAudioFrame(
    AudioFrame frame)

使用自定义采集方式,采集屏幕共享时的屏幕音频时,将音频帧推送至 RTC SDK 处进行编码等处理。

传入参数

参数名类型说明
frameAudioFrame音频数据帧,参见 AudioFrame

返回值

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

注意

  • 调用此接口推送屏幕共享时的自定义采集的音频数据前,必须调用 SetScreenAudioSourceType 开启屏幕音频自定义采集。
  • 你应每隔 10 毫秒,调用一次此方法推送一次自定义采集的音频帧。一次推送的音频帧中应包含 frame.sample_rate / 100 个音频采样点。比如,假如采样率为 48000Hz,则每次应该推送 480 个采样点。
  • 音频采样格式为 S16。音频缓冲区内的数据格式必须为 PCM 数据,其容量大小应该为 samples × frame.channel × 2。
  • 调用此接口将自定义采集的音频帧推送到 RTC SDK 后,你必须调用 PublishScreen 将采集到的屏幕音频推送到远端。在调用 PublishScreen 前,推送到 RTC SDK 的音频帧信息会丢失。

SwitchCamera

int bytertc.IRTCVideo.SwitchCamera(
    CameraID cameraId)

切换视频内部采集时使用的前置/后置摄像头
调用此接口后,在本地会触发 OnVideoDeviceStateChangedEventHandler 回调。

传入参数

参数名类型说明
cameraIdCameraIDCamera ID,移动端摄像头。参看 CameraID。

返回值

  • 0:成功
  • !0:失败

注意

  • 默认使用前置摄像头。
  • 如果你正在使用相机进行视频采集,切换操作当即生效;如果相机未启动,后续开启内部采集时,会打开设定的摄像头。
  • 如果本地有多个摄像头且想选择特定工作摄像头可通过 IVideoDeviceManager 来控制。

PushExternalAudioFrame

int bytertc.IRTCVideo.PushExternalAudioFrame(
    AudioFrame frame)

推送自定义采集的音频数据到 RTC SDK。

传入参数

参数名类型说明
frameAudioFrame音频数据帧,参看 AudioFrame。

返回值

  • 0: 成功
  • < 0: 失败

注意

  • 推送自定义采集的音频数据前,必须先调用 SetAudioSourceType 开启自定义采集。
  • 你必须每隔 10 毫秒推送一次外部采集的音频数据。单次推送的 samples (音频采样点个数)应该为 audioFrame.sampleRate / 100。比如设置采样率为 48000 时, 每次应该推送 480 个采样点。
  • 音频采样格式必须为 S16。音频缓冲区内的数据格式必须为 PCM,其容量大小应该为 audioFrame.samples × audioFrame.channel × 2。

SetAudioSourceType

void bytertc.IRTCVideo.SetAudioSourceType(
    AudioSourceType sourceType)

切换音频采集方式

传入参数

参数名类型说明
sourceTypeAudioSourceType音频数据源,参看 AudioSourceType。
默认使用内部音频采集。音频采集和渲染方式无需对应。

返回值

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

注意

  • 进房前后调用此方法均有效。
  • 如果你调用此方法由内部采集切换至自定义采集,SDK 会自动关闭内部采集。然后,调用 PushExternalAudioFrame 推送自定义采集的音频数据到 RTC SDK 用于传输。
  • 如果你调用此方法由自定义采集切换至内部采集,你必须再调用 StartAudioCapture 手动开启内部采集。

PushExternalVideoFrame

int bytertc.IRTCVideo.PushExternalVideoFrame(
    VideoFrame frame)

推送外部视频帧。

传入参数

参数名类型说明
frameVideoFrame视频帧的数据信息,参看 VideoFrame。

返回值

  • 0: 成功
  • -1: 失败

注意

  • 该方法主动将视频帧数据用 VideoFrame 类封装后传递给 SDK。
  • 请确保在你调用本方法前已调用 SetVideoSourceType 设置为自定义视频采集。
  • 当使用纹理数据时, 确保 createEngine中的 eglContext与 frame 中的 eglContext 为 sharedContext 或者相同,否则会无法编码

PushScreenVideoFrame

int bytertc.IRTCVideo.PushScreenVideoFrame(
    VideoFrame frame)

推送屏幕视频帧

传入参数

参数名类型说明
frameVideoFrame视频帧 VideoFrame

返回值

  • 0 :调用成功
  • -1 :调用失败
IRTCVideoRoom
public interface bytertc.IRTCVideoRoom

房间接口

Defined in : IRTCVideoRoom.cs

成员函数

返回名称
voidDestroy
intJoinRoom
voidLeaveRoom
voidUpdateToken
voidSetUserVisibility
voidPublishStream
voidUnpublishStream
voidPublishScreen
voidUnpublishScreen
voidSubscribeStream
voidUnsubscribeStream
intStartForwardStreamToRooms
intStopForwardStreamToRooms
intUpdateForwardStreamToRooms
intPauseForwardStreamToAllRooms
intResumeForwardStreamToAllRooms
intSetMultiDeviceAVSync
voidSubscribeScreen
voidUnsubscribeScreen
voidPauseAllSubscribedStream
voidResumeAllSubscribedStream
intSubscribeAllStreams
intUnsubscribeAllStreams
IRangeAudioGetRangeAudio
ISpatialAudioGetSpatialAudio
longSendUserMessage
longSendRoomMessage

函数说明

Destroy

void bytertc.IRTCVideoRoom.Destroy();

退出并销毁调用 CreateRTCRoom 所创建的房间。

JoinRoom

int bytertc.IRTCVideoRoom.JoinRoom(
    string token,
    UserInfo info,
    MultiRoomConfig roomConfig)

加入房间。
调用 CreateRTCRoom 创建房间后,调用此方法加入房间,同房间内其他用户进行音视频通话。

用户(包括后端机器人)成功进入 RTC 房间后便开始计费。即使房间内只有 1 个用户,也会计算音频计费时长。具体计费说明,请参见音视频通话计费。

传入参数

参数名类型说明
tokenstring动态密钥,用于对进房用户进行鉴权验证。
进入房间需要携带 Token。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。
使用不同 AppID 的 App 是不能互通的。
请务必保证生成 Token 使用的 AppID 和创建引擎时使用的 AppID 相同,否则会导致加入房间失败。
infoUserInfo用户信息。参看 UserInfo。
roomConfigMultiRoomConfig房间参数配置,设置房间模式以及是否自动发布或订阅流。具体配置模式参看 MultiRoomConfig。

返回值

  • 0: 成功。
  • -1: 参数无效。
  • -2: 已经在房间内。接口调用成功后,只要收到返回值为 0,且未调用 LeaveRoom 成功,则再次调用进房接口时,无论填写的房间 ID 和用户 ID 是否重复,均触发此返回值。
  • -3: room 为空。

注意

  • 同一个 App ID 的同一个房间内,每个用户的用户 ID 必须是唯一的。如果两个用户的用户 ID 相同,则后进房的用户会将先进房的用户踢出房间,并且先进房的用户会收到 OnRoomStateChangedEventHandler 回调通知。
  • 本地用户调用此方法加入房间成功后,会收到 OnRoomStateChangedEventHandler 回调通知。
  • 本地用户调用 SetUserVisibility 将自身设为可见后加入房间,远端用户会收到 OnUserJoinedEventHandler 回调通知。
  • 用户加入房间成功后,在本地网络状况不佳的情况下,SDK 可能会与服务器失去连接,此时 SDK 将会自动重连。重连成功后,本地会收到 OnRoomStateChangedEventHandler 回调通知;如果加入房间的用户是可见用户,远端用户会收到 OnUserJoinedEventHandler 回调通知。

LeaveRoom

void bytertc.IRTCVideoRoom.LeaveRoom();

离开房间。
用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。

只要有用户在 RTC 房间,就会至少计算该用户的音频计费时长。后端服务创建的机器人,同样被视为计费用户。为避免产生不必要的费用,请确保及时让所有用户退出房间。

注意

  • 调用 JoinRoom 方法加入房间后,必须调用此方法结束通话,否则无法开始下一次通话。无论当前是否在房间内,都可以调用此方法。重复调用此方法没有负面影响。
  • 此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 OnLeaveRoomEventHandler 回调通知。
  • 调用 SetUserVisibility 将自身设为可见的用户离开房间后,房间内其他用户会收到 OnUserLeaveEventHandler 回调通知。
  • 如果调用此方法后立即销毁引擎,SDK 将无法触发 OnLeaveRoomEventHandler 回调。

UpdateToken

void bytertc.IRTCVideoRoom.UpdateToken(
    string token)

更新 Token。
收到 OnTokenWillExpireEventHandler 时,你必须重新获取 Token,并调用此方法更新 Token,以保证通话的正常进行。

传入参数

参数名类型说明
tokenstring重新获取的有效 Token。
如果 Token 无效,你会收到 OnRoomStateChangedEventHandler,错误码是 -1010。

SetUserVisibility

void bytertc.IRTCVideoRoom.SetUserVisibility(
    bool enable)

设置用户可见性。默认可见。

传入参数

参数名类型说明
enablebool设置用户是否对房间内其他用户可见:
• true: 可以在房间内发布音视频流,房间中的其他用户将收到用户的行为通知,例如进房、开启视频采集和退房。
• false: 不可以在房间内发布音视频流,房间中的其他用户不会收到用户的行为通知,例如进房、开启视频采集和退房。

注意

  • 该方法在加入房间前后均可调用。
  • 在房间内调用此方法,房间内其他用户会收到相应的回调通知:
  • 若调用该方法将可见性设为 false,此时尝试发布流会收到 WARNING_CODE_PUBLISH_STREAM_FORBIDEN 警告。

PublishStream

void bytertc.IRTCVideoRoom.PublishStream(
    MediaStreamType type)

在当前所在房间内发布本地通过摄像头/麦克风采集的媒体流

传入参数

参数名类型说明
typeMediaStreamType媒体流类型,用于指定发布音频/视频,参看 MediaStreamType

注意

UnpublishStream

void bytertc.IRTCVideoRoom.UnpublishStream(
    MediaStreamType type)

停止将本地摄像头/麦克风采集的媒体流发布到当前所在房间中

传入参数

参数名类型说明
typeMediaStreamType媒体流类型,用于指定停止发布音频/视频,参看 MediaStreamType

注意

PublishScreen

void bytertc.IRTCVideoRoom.PublishScreen(
    MediaStreamType type)

在当前所在房间内发布本地屏幕共享音视频流

传入参数

参数名类型说明
typeMediaStreamType媒体流类型,用于指定发布屏幕音频/视频,参看 MediaStreamType。

注意

UnpublishScreen

void bytertc.IRTCVideoRoom.UnpublishScreen(
    MediaStreamType type)

停止将本地屏幕共享音视频流发布到当前所在房间中

传入参数

参数名类型说明
typeMediaStreamType媒体流类型,用于指定停止发布屏幕音频/视频,参看 MediaStreamType

注意

SubscribeStream

void bytertc.IRTCVideoRoom.SubscribeStream(
    string userID,
    MediaStreamType type)

订阅房间内指定的通过摄像头/麦克风采集的媒体流,或更新对指定远端用户的订阅选项。

传入参数

参数名类型说明
userIDstring指定订阅的远端发布音视频流的用户 ID。
typeMediaStreamType媒体流类型,用于指定订阅音频/视频。参看 MediaStreamType。

注意

  • 当调用本接口时,当前用户已经订阅该远端用户,不论是通过手动订阅还是自动订阅,都将根据本次传入的参数,更新订阅配置。
  • 你必须先通过 OnUserPublishStreamEventHandler 回调获取当前房间里的远端摄像头音视频流信息,然后调用本方法按需订阅。
  • 调用该方法后,你会收到 OnStreamSubscribedEventHandler 通知方法调用结果。
  • 成功订阅远端用户的媒体流后,订阅关系将持续到调用 UnsubscribeStream 取消订阅或本端用户退房。
  • 关于其他调用异常,你会收到 OnStreamStateChangedEventHandler 回调通知,具体异常原因参看 ErrorCode。

UnsubscribeStream

void bytertc.IRTCVideoRoom.UnsubscribeStream(
    string userID,
    MediaStreamType type)

取消订阅房间内指定的通过摄像头/麦克风采集的媒体流。
该方法对自动订阅和手动订阅模式均适用。

传入参数

参数名类型说明
userIDstring指定取消订阅的远端发布音视频流的用户 ID。
typeMediaStreamType媒体流类型,用于指定取消订阅音频/视频。参看 MediaStreamType。

注意

  • 调用成功后,如果此时本端用户仍订阅了该远端用户的其他媒体流,将会触发 OnStreamSubscribedEventHandler 回调。否则不会收到此回调。比如,本端同时订阅了用户 A 的音频和视频流,通过本方法取消订阅 A 的视频流时,收到 OnStreamSubscribedEventHandler 回调。再次调用本方法,取消订阅 A 的音频流,则取消成功时不会收到该回调。
  • 调用异常时,你会收到 OnStreamStateChangedEventHandler 回调通知,具体失败原因参看 ErrorCode。

StartForwardStreamToRooms

int bytertc.IRTCVideoRoom.StartForwardStreamToRooms(
    ForwardStreamConfiguration configuration)

开始跨房间转发媒体流。
在调用 JoinRoom 后调用本接口,实现向多个房间转发媒体流,适用于跨房间连麦等场景。

传入参数

参数名类型说明
configurationForwardStreamConfiguration跨房间媒体流转发指定房间的信息。参看 ForwardStreamConfiguration。

返回值
0: 方法调用成功
<0: 方法调用失败

注意

StopForwardStreamToRooms

int bytertc.IRTCVideoRoom.StopForwardStreamToRooms();

停止跨房间媒体流转发。
通过 StartForwardStreamToRooms 发起媒体流转发后,可调用本方法停止向所有目标房间转发媒体流。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

注意

UpdateForwardStreamToRooms

int bytertc.IRTCVideoRoom.UpdateForwardStreamToRooms(
    ForwardStreamConfiguration configuration)

更新跨房间媒体流转发信息。
通过 StartForwardStreamToRooms 发起媒体流转发后,可调用本方法增加或者减少目标房间,或更新房间密钥。
调用本方法增加或删减房间后,将在本端触发 OnForwardStreamStateChangedEventHandler 回调,包含发生了变动的目标房间中媒体流转发状态。

传入参数

参数名类型说明
configurationForwardStreamConfiguration跨房间媒体流转发目标房间信息。参看 ForwardStreamConfiguration。

返回值

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

注意

PauseForwardStreamToAllRooms

int bytertc.IRTCVideoRoom.PauseForwardStreamToAllRooms();

暂停跨房间媒体流转发。
通过 StartForwardStreamToRooms 发起媒体流转发后,可调用本方法暂停向所有目标房间转发媒体流。
调用本方法暂停向所有目标房间转发后,你可以随时调用 ResumeForwardStreamToAllRooms 快速恢复转发。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

注意
调用本方法后,目标房间中的用户将接收到本地用户停止发布 OnUserUnPublishStreamEventHandler/OnUserUnPublishScreenEventHandler 和退房 OnUserLeaveEventHandler 的回调。

ResumeForwardStreamToAllRooms

int bytertc.IRTCVideoRoom.ResumeForwardStreamToAllRooms();

恢复跨房间媒体流转发。
调用 PauseForwardStreamToAllRooms 暂停转发之后,调用本方法恢复向所有目标房间转发媒体流。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

注意
目标房间中的用户将接收到本地用户进房 OnUserJoinedEventHandler 和发布 OnUserPublishStreamEventHandler/OnUserPublishScreenEventHandler 的回调。

SetMultiDeviceAVSync

int bytertc.IRTCVideoRoom.SetMultiDeviceAVSync(
    string audio_user_id)

设置发流端音画同步。
当同一用户同时使用两个通话设备分别采集发送音频和视频时,有可能会因两个设备所处的网络环境不一致而导致发布的流不同步,此时你可以在视频发送端调用该接口,SDK 会根据音频流的时间戳自动校准视频流,以保证接收端听到音频和看到视频在时间上的同步性。

传入参数

参数名类型说明
audio_user_idstring音频发送端的用户 ID,将该参数设为空则可解除当前音视频的同步关系。

返回值

  • 0: 调用成功。
  • < 0 : 调用失败。

注意

  • 该方法在进房前后均可调用。
  • 进行音画同步的音频发布用户 ID 和视频发布用户 ID 须在同一个 RTC 房间内。
  • 调用该接口后音画同步状态发生改变时,你会收到 OnAVSyncStateChangeCallback 回调。
  • 同一 RTC 房间内允许存在多个音视频同步关系,但需注意单个音频源不支持与多个视频源同时同步。
  • 如需更换同步音频源,再次调用该接口传入新的 audio_user_id 即可;如需更换同步视频源,需先解除当前的同步关系,后在新视频源端开启同步。

SubscribeScreen

void bytertc.IRTCVideoRoom.SubscribeScreen(
    string userID,
    MediaStreamType type)

订阅房间内指定的远端屏幕共享音视频流,或更新对指定远端用户的订阅选项

传入参数

参数名类型说明
userIDstring指定订阅的远端发布屏幕流的用户 ID。
typeMediaStreamType媒体流类型,用于指定订阅音频/视频。参看 MediaStreamType。

注意

  • 当调用本接口时,当前用户已经订阅该远端用户,不论是通过手动订阅还是自动订阅,都将根据本次传入的参数,更新订阅配置。
  • 你必须先通过 OnUserPublishScreenEventHandler 回调获取当前房间里的远端屏幕流信息,然后调用本方法按需订阅。
  • 调用该方法后,你会收到 OnStreamSubscribedEventHandler 通知方法调用结果。
  • 成功订阅远端用户的媒体流后,订阅关系将持续到调用 UnsubscribeScreen 取消订阅或本端用户退房。
  • 关于其他调用异常,你会收到 OnStreamStateChangedEventHandler 回调通知,具体异常原因参看 ErrorCode。

UnsubscribeScreen

void bytertc.IRTCVideoRoom.UnsubscribeScreen(
    string userID,
    MediaStreamType type)

取消订阅房间内指定的远端屏幕共享音视频流。
该方法对自动订阅和手动订阅模式均适用。

传入参数

参数名类型说明
userIDstring指定取消订阅的远端发布屏幕流的用户 ID。
typeMediaStreamType媒体流类型,用于指定取消订阅音频/视频。参看 MediaStreamType。

注意

  • 调用成功后,如果此时本端用户仍订阅了该远端用户的其他媒体流,将会触发 OnStreamSubscribedEventHandler 回调。否则不会收到此回调。比如,本端同时订阅了用户 A 的音频和视频流,通过本方法取消订阅 A 的视频流时,收到 OnStreamSubscribedEventHandler 回调。再次调用本方法,取消订阅 A 的音频流,则取消成功时不会收到该回调。
  • 调用异常时,你会收到 OnStreamStateChangedEventHandler 回调通知,具体失败原因参看 ErrorCode。

PauseAllSubscribedStream

void bytertc.IRTCVideoRoom.PauseAllSubscribedStream(
    PauseResumeControlMediaType mediaType)

暂停接收来自远端的媒体流。

传入参数

参数名类型说明
mediaTypePauseResumeControlMediaType媒体流类型,指定需要暂停接收音频还是视频流,参看 PauseResumeControlMediaType。

注意

  • 该方法仅暂停远端流的接收,并不影响远端流的采集和发送;
  • 该方法不改变用户的订阅状态以及订阅流的属性。
  • 若想恢复接收远端流,需调用 ResumeAllSubscribedStream。

ResumeAllSubscribedStream

void bytertc.IRTCVideoRoom.ResumeAllSubscribedStream(
    PauseResumeControlMediaType mediaType)

恢复接收来自远端的媒体流

传入参数

参数名类型说明
mediaTypePauseResumeControlMediaType媒体流类型,指定需要暂停接收音频还是视频流,参看 PauseResumeControlMediaType

注意

  • 该方法仅恢复远端流的接收,并不影响远端流的采集和发送;
  • 该方法不改变用户的订阅状态以及订阅流的属性。

SubscribeAllStreams

int bytertc.IRTCVideoRoom.SubscribeAllStreams(
    MediaStreamType type)

订阅房间内所有通过摄像头/麦克风采集的媒体流,或更新订阅选项。

传入参数

参数名类型说明
typeMediaStreamType媒体流类型,用于指定订阅音频/视频。参看 MediaStreamType。

返回值
0: 方法调用成功
!0: 方法调用失败

注意

UnsubscribeAllStreams

int bytertc.IRTCVideoRoom.UnsubscribeAllStreams(
    MediaStreamType type)

取消订阅房间内所有的通过摄像头/麦克风采集的媒体流。
自动订阅和手动订阅的流都可以通过本方法取消订阅。

传入参数

参数名类型说明
typeMediaStreamType媒体流类型,用于指定取消订阅音频/视频。参看 MediaStreamType。

返回值
方法调用结果:

  • 0:成功。调用成功后,如果此时本端用户仍订阅了该远端用户的其他媒体流,将会触发 OnStreamSubscribedEventHandler 回调。否则不会收到此回调。比如,本端同时订阅了用户 A 的音频和视频流,通过本方法取消订阅 A 的视频流时,收到 OnStreamSubscribedEventHandler 回调。再次调用本方法,取消订阅 A 的音频流,则取消成功时不会收到该回调。
  • !0:失败。调用异常时,你会收到 OnStreamStateChangedEventHandler 回调通知,具体失败原因参看 ErrorCode。

GetRangeAudio

IRangeAudio bytertc.IRTCVideoRoom.GetRangeAudio();

获取范围语音接口。

返回值
范围语音接口,参看 IRangeAudio。

GetSpatialAudio

ISpatialAudio bytertc.IRTCVideoRoom.GetSpatialAudio();

获取空间音频接口。

返回值
空间音频接口,参看 ISpatialAudio。

SendUserMessage

long bytertc.IRTCVideoRoom.SendUserMessage(
    string userID,
    string message)

给房间内指定的用户发送点对点文本消息(P2P)。

传入参数

参数名类型说明
userIDstring消息接收用户的 ID
messagestring发送的文本消息内容。默认单次发送的消息内容包大小为 1 KB,如需更大的包传递(最大不可超过 64 KB),需在控制台启用 RTS 高级功能。注意:若在 SDK 运行期间启用 RTS 高级功能,则必须重新初始化引擎,配置才能生效。

返回值

  • >0:发送成功,返回这次发送消息的编号,从 1 开始递增
  • -1:发送失败,RTCRoom 实例未创建
  • -2:发送失败,userID 为空

注意
在发送房间内文本消息前,必须先调用 JoinRoom 加入房间。

SendRoomMessage

long bytertc.IRTCVideoRoom.SendRoomMessage(
    string message)

给房间内的所有其他用户群发文本消息。

传入参数

参数名类型说明
messagestring发送的文本消息内容。默认单次发送的消息内容包大小为 1 KB,如需更大的包传递(最大不可超过 64 KB),需在控制台启用 RTS 高级功能。注意:若在 SDK 运行期间启用 RTS 高级功能,则必须重新初始化引擎,配置才能生效。

注意
在房间内广播文本消息前,必须先调用 JoinRoom 加入房间。

IScreenCaptureSourceList
public interface bytertc.IScreenCaptureSourceList

屏幕源类型信息列表

Defined in : IScreenCaptureSourceList.cs

成员函数

返回名称
intGetCount
ScreenCaptureSourceInfoGetSourceInfo
voidRelease

函数说明

GetCount

int bytertc.IScreenCaptureSourceList.GetCount();

获取列表大小

返回值
获取列表大小

GetSourceInfo

ScreenCaptureSourceInfo bytertc.IScreenCaptureSourceList.GetSourceInfo(
    int index)

根据索引号,获取屏幕共享列表中的元素。

传入参数

参数名类型说明
indexint列表索引号

返回值
屏幕源类型信息,参看 ScreenCaptureSourceInfo。

注意
返回类型中有 char* 类型的字符串,该字符串在本对象 Release 后释放,请注意内存管理。

Release

void bytertc.IScreenCaptureSourceList.Release();

析构当前对象,释放内存

注意
严禁调用 delete 该结构体,该结构不需要的时候应该调用本函数释放资源

ISpatialAudio
public interface bytertc.ISpatialAudio

空间音频接口

Defined in : ISpatialAudio.cs

成员函数

返回名称
voidEnableSpatialAudio
intUpdatePosition
intUpdateSelfOrientation
voidDisableRemoteOrientation
voidRelease

函数说明

EnableSpatialAudio

void bytertc.ISpatialAudio.EnableSpatialAudio(
    bool enable)

设置是否开启空间语音

传入参数

参数名类型说明
enablebool• true:开启
• false: 关闭(默认设置)

注意
开启空间语音后,非同一小队的队友之间收听的声音会根据设置的坐标和方位不同而产生空间音效,如果不需要设置为 false 即可。

UpdatePosition

int bytertc.ISpatialAudio.UpdatePosition(
    Position pos)

更新本地用户发声时,在房间内空间直角坐标系中的位置坐标。

传入参数

参数名类型说明
posPosition三维坐标的值,默认为 [0, 0, 0]。参看 Position。

返回值

  • 0: 成功;
  • !0: 失败。

注意
调用该接口更新坐标前,你需调用 EnableSpatialAudio 开启空间音频功能。空间音频相关 API 和调用时序详见空间音频。

UpdateSelfOrientation

int bytertc.ISpatialAudio.UpdateSelfOrientation(
    HumanOrientation orientation)

更新自己的朝向。本地朝向的设置只影响本地听到的音频效果,不影响本地发出的音频效果。

传入参数

参数名类型说明
orientationHumanOrientation朝向信息,必须是单位向量。参看 HumanOrientation。当朝向的正方向使用默认值时,朝向的坐标系和位置信息使用的坐标系一致。此时,正前方朝向是:[1, 0, 0],正右方朝向是:[0, 1, 0],正上方朝向是:[0, 0, 1]。

返回值
0: 更新成功

注意
本地用户调用 EnableSpatialAudio 使用空间音频功能时,需要调用 UpdatePosition 接口更新位置坐标后,才能调用此接口。

DisableRemoteOrientation

void bytertc.ISpatialAudio.DisableRemoteOrientation();

关闭本地用户朝向对本地用户发声效果的影响。
调用此接口后,房间内的其他用户收听本地发声时,声源都在收听者正面。

注意

  • 调用本接口关闭朝向功能后,在当前的空间音频实例的生命周期内无法再次开启。
  • 调用此接口不影响本地用户收听朝向的音频效果。要改变本地用户收听朝向,参看 UpdateSelfOrientation。

Release

void bytertc.ISpatialAudio.Release();

释放当前 ISpatialAudio 对象占用的资源。

IVideoDeviceManager
public interface bytertc.IVideoDeviceManager

主要用于枚举、设置视频采集设备。
继承了 IDeviceCollection 类及其所有方法。

Defined in : IVideoDeviceManager.cs

成员函数

返回名称
IDeviceCollectionEnumerateVideoCaptureDevices
intSetVideoCaptureDevice
intGetVideoCaptureDevice

函数说明

EnumerateVideoCaptureDevices

IDeviceCollection bytertc.IVideoDeviceManager.EnumerateVideoCaptureDevices();

获取当前系统内视频采集设备列表。

返回值
包含系统中所有视频采集设备的列表,参看 IDeviceCollection。

SetVideoCaptureDevice

int bytertc.IVideoDeviceManager.SetVideoCaptureDevice(
    string deviceID)

设置当前视频采集设备

传入参数

参数名类型说明
deviceIDstring视频设备 ID,可以通过 EnumerateVideoCaptureDevices 获取

返回值

  • 0:方法调用成功
  • !0:方法调用失败

GetVideoCaptureDevice

int bytertc.IVideoDeviceManager.GetVideoCaptureDevice(
    ref string deviceID)

获取当前 SDK 正在使用的视频采集设备信息

传入参数

参数名类型说明
deviceIDref string视频设备 ID

返回值

  • 0:成功
  • !0:失败
最近更新时间:2026.07.18 23:52:35
这个页面对您有帮助吗?
有用
有用
无用
无用