ReceiveRange
public struct bytertc.ReceiveRange
csharp

使用范围语音功能时,语音的接收范围

Defined in : IRangeAudio.cs

成员变量
类型名称
min收听声音无衰减的最小范围值。

当收听者和声源距离小于 min 的时候,收听到的声音完全无衰减。
max能够收听到声音的最大范围。

当收听者和声源距离大于 max 的时候,无法收听到声音。

当收听者和声源距离处于 [min, max) 之间时,收听到的音量根据距离有衰减。
RangeAudioInfo
public struct bytertc.RangeAudioInfo
csharp

范围语音信息

Defined in : IRangeAudio.cs

成员变量
类型名称
user_id用户 ID。
factor音量衰减量。取值范围是 [0,100],随距离呈线性衰减,当 factor 为 0 时,表示听不到声音。
AttenuationType
public enum bytertc.AttenuationType
csharp

空间音频音量随距离衰减模式

Defined in : IRangeAudio.cs

枚举值
类型值说明
kAttenuationTypeNone0不随距离衰减
kAttenuationTypeLinear1线性衰减,音量随距离增大而线性减小
kAttenuationTypeExponential2指数型衰减,音量随距离增大进行指数衰减
RTCVideoEngineParams
public struct bytertc.RTCVideoEngineParams
csharp

引擎初始化参数

Defined in : IRTCVideo.cs

成员变量
类型名称
AppID应用 ID。
Params初始化参数。
AudioProfileType
public enum bytertc.AudioProfileType
csharp

音质档位

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioProfileTypeDefault0默认音质。
服务器下发或客户端已设置的 RoomProfileType 的音质配置。
kAudioProfileTypeFluent1流畅音质。
单声道,采样率为 16kHz,编码码率为 24kbps。
流畅优先、低延迟、低功耗、低流量消耗,适用于大部分游戏场景,如 MMORPG、MOBA、FPS 等游戏中的小队语音、组队语音、国战语音等。
kAudioProfileTypeStandard2标准音质。

单声道,采样率为 48kHz,编码码率为 48kbps。

适用于对音质有一定要求的场景,同时延时、功耗和流量消耗相对适中,适合教育场景和 Sirius 等狼人杀类游戏。
kAudioProfileTypeHD3高清音质

双声道,采样率为 48kHz,编码码率为 128 Kbps。

超高音质,同时延时、功耗和流量消耗相对较大,适用于连麦 PK 等音乐场景。

游戏场景不建议使用。
kAudioProfileTypeStandardStereo4双声道标准音质。
采样率为 48 KHz,编码码率最大值为 80 Kbps。
kAudioProfileTypeHDMono5单声道音乐音质。采样率为 48 kHz,编码码率最大值为 64 Kbps。
AudioScenarioType
public enum bytertc.AudioScenarioType
csharp

音频场景类型

选择音频场景后,SDK 会根据操作系统和开麦、闭麦状态,应用通话音量或媒体音量。参看 Android / iOS 的 API 文档了解对应操作系统下的音量类型配置情况。参看通话音量与媒体音量了解更多相关信息。

你可以调用 SetAudioScenario 设置音频场景。

如果以下音频场景类型无法满足你的业务需要,请联系技术支持同学进行定制。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioScenarioTypeMusic0(默认)音乐场景。

此场景适用于对音乐表现力有要求的场景,如音乐直播等。

注意:在此场景下,使用蓝牙耳麦时,会通过手机自带麦克风采集音频。因此,不适用“通话时手机放在包里”等类似场景。使用 kAudioScenarioTypeHighQualityCommunication 可以不受此限制。
kAudioScenarioTypeHighQualityCommunication1高质量通话场景。兼顾外放/蓝牙耳机时的音频体验。

此场景适用于对音乐表现力有要求,但又希望能够使用蓝牙耳麦进行音频采集的场景。

注意:在此场景下,使用扬声器时,开关麦时可能发生音量突变。
kAudioScenarioTypeCommunication2纯通话音量场景。
可以最大程度地消除回声,使通话清晰度达到最优。此场景下,无论客户端音频采集播放设备和采集播放状态,全程使用通话音量,不会有音量突变的听感。

适用于需要频繁上下麦的通话或会议场景。

但是,此场景会压低使用媒体音量进行播放的其他音频的音量,且音质会变差。
kAudioScenarioTypeMedia3媒体场景。

如果客户端音频采集播放设备是内置扬声器、有线耳机、USB 耳机或蓝牙耳机,那么使用媒体音量;如果设备是内置听筒,使用通话音量。

注意:在此场景下,使用蓝牙耳麦时,会通过手机自带麦克风采集音频。因此,不适用“通话时手机放在包里”等类似场景。
外放通话时,可能出现回声和啸叫,请联系技术支持人员。
kAudioScenarioTypeGameStreaming4游戏媒体场景。

若外放通话且无游戏音效消除优化时音质不理想,请联系技术支持人员。
AudioRouteDevice
public enum bytertc.AudioRouteDevice
csharp

音频播放路由。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioRouteDefault-1未知设备
kAudioRouteDeviceHeadset1有线耳机
kAudioRouteDeviceEarpiece2听筒。设备自带的,一般用于通话的播放硬件。
kAudioRouteDeviceSpeakerphone3扬声器。设备自带的,一般用于免提播放的硬件。
kAudioRouteDeviceHeadsetBluetooth4蓝牙耳机
kAudioRouteDeviceHeadsetUSB5USB 设备
AudioPropertiesConfig
public struct bytertc.AudioPropertiesConfig
csharp

音频属性信息提示的相关配置。

Defined in : IRTCVideo.cs

成员变量
类型名称
Interval信息提示间隔,单位:ms
EnableSpectrum是否开启音频频谱检测
EnableVad是否开启人声检测 (VAD)
AudioFrameCallbackMethod
public enum bytertc.AudioFrameCallbackMethod
csharp

音频回调方法

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioFrameCallbackRecord0本地麦克风录制的音频数据回调 OnRecordAudioFrameEventHandler
kAudioFrameCallbackPlayback1订阅的远端所有用户混音后的音频数据回调 OnPlaybackAudioFrameEventHandler
kAudioFrameCallbackMixed2本地麦克风录制和订阅的远端所有用户混音后的音频数据回调 OnMixedAudioFrameEventHandler
kAudioFrameCallbackRemoteUser3订阅的远端每个用户混音前的音频数据回调 OnRemoteUserAudioFrameEventHandler
kAudioFrameCallbackRecordScreen4本地屏幕录制的音频数据回调 OnRecordScreenAudioFrameEventHandler
SyncInfoStreamType
public enum bytertc.SyncInfoStreamType
csharp

媒体流信息同步的流类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kSyncInfoStreamTypeAudio0音频流
AudioFormat
public struct bytertc.AudioFormat
csharp

音频参数格式

Defined in : IRTCVideo.cs

成员变量
类型名称
SampleRate音频采样率,参看 AudioSampleRate。
Channel音频声道,参看 AudioChannel。
AudioProcessorMethod
public enum bytertc.AudioProcessorMethod
csharp

返回给音频处理器的音频类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioFrameProcessorRecord0本地采集的音频
kAudioFrameProcessorPlayback1远端音频流的混音音频
kAudioFrameProcessorRemoteUser2各个远端音频流
kAudioFrameProcessorEarMonitor3软件耳返音频。
kAudioFrameProcessorScreen4屏幕共享音频。
CapturePreference
public enum bytertc.CapturePreference
csharp

视频采集模式

Defined in : IRTCVideo.cs

枚举值
类型值说明
KAuto0(默认)自动设置采集参数。
SDK在开启采集时根据服务端下发的采集配置结合编码参数设置最佳采集参数。
KManual1手动设置采集参数,包括采集分辨率、帧率。
KAutoPerformance2采集参数与编码参数一致,即在 SetVideoEncoderConfig1 中设置的参数。
VideoCaptureConfig
public struct bytertc.VideoCaptureConfig
csharp

视频采集配置

Defined in : IRTCVideo.cs

成员变量
类型名称
CapturePreference视频采集模式,参看 CapturePreference。
Width视频采集分辨率的宽度,单位:px。
Height视频采集分辨率的高度,单位:px。
FrameRate视频采集帧率,单位:fps。
VideoStreamScaleMode
public enum bytertc.VideoStreamScaleMode
csharp

视频帧缩放模式

Defined in : IRTCVideo.cs

枚举值
类型值说明
kVideoStreamScaleModeAuto0自动模式,默认值为 kVideoStreamScaleModeFitWithCropping
kVideoStreamScaleModeStretch1对视频帧进行缩放,直至充满和视窗分辨率一致为止。这一过程不保证等比缩放。这一过程不保证等比缩放。
kVideoStreamScaleModeFitWithCropping2视窗填满优先。

视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。

缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。
kVideoStreamScaleModeFitWithFilling3视频帧内容全部显示优先。

视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。

缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。
VideoEncodePreference
public enum bytertc.VideoEncodePreference
csharp

编码策略偏好。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kVideoEncodePreferenceDisabled0无偏好。不降低帧率和分辨率。
kVideoEncodePreferenceFramerate1(默认值)帧率优先。
kVideoEncodePreferenceQuality2分辨率优先。
kVideoEncodePreferenceBalance3平衡帧率与分辨率。
ScreenVideoEncoderConfig
public struct bytertc.ScreenVideoEncoderConfig
csharp

屏幕编码配置。参考 设置视频发布参数。

Defined in : IRTCVideo.cs

成员变量
类型名称
Width视频宽度,单位:像素。
Height视频高度,单位:像素。
FrameRate视频帧率,单位:fps。
MaxBitrate最大编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。默认值为 –1。
设为 -1 即适配码率模式,系统将根据输入的分辨率和帧率自动计算适用的码率。
设为 0 则不对视频流进行编码发送。
MinBitrate最小编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。
最小编码码率必须小于或等于最大编码,否则不对视频流进行编码发送。
EncoderPreference屏幕流编码模式。参见 ScreenVideoEncodePreference。
ScreenVideoEncodePreference
public enum bytertc.ScreenVideoEncodePreference
csharp

屏幕流编码模式。默认采用清晰模式。若在采集时设置 ScreenFilterConfig 排除指定窗口,共享视频时帧率无法达到 30fps。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kScreenVideoEncodePreferenceAuto0智能模式。根据屏幕内容智能决策选择流畅模式或清晰模式。
kScreenVideoEncodePreferenceFramerate1流畅模式,优先保障帧率。适用于共享游戏、视频等动态画面。
kScreenVideoEncodePreferenceQuality2清晰模式,优先保障分辨率。适用于共享PPT、文档、图片等静态画面。
VideoEncoderConfig
public struct bytertc.VideoEncoderConfig
csharp

视频流参数描述。

Defined in : IRTCVideo.cs

成员变量
类型名称
Width视频宽度,单位:px
Height视频高度,单位:px
FrameRate视频帧率,单位:fps
MaxBitrate最大编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。

内部采集模式下默认值为 -1,即适配码率模式,系统将根据输入的分辨率和帧率自动计算适用的码率。

设为 0 则不对视频流进行编码发送。
MinBitrate视频最小编码码率, 单位 kbps。编码码率不会低于 MinBitrate。

默认值为 0。

范围:[0, MaxBitrate),当 MaxBitrate < MinBitrate 时,为适配码率模式。

以下情况,设置本参数无效:

+ 当 MaxBitrate 为 0 时,不对视频流进行编码发送。

+ 当 MaxBitrate < 0 时,适配码率模式。
EncoderPreference编码策略偏好。参看 VideoEncodePreference。
VideoSourceType
public enum bytertc.VideoSourceType
csharp

视频输入源类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
VideoSourceTypeExternal0自定义采集视频源
VideoSourceTypeInternal1内部采集视频源
VideoSourceTypeEncodedWithAutoSimulcast2自定义编码视频源。
你仅需推送分辨率最大的一路编码后视频流,SDK 将自动转码生成多路小流
VideoSourceTypeEncodedWithoutAutoSimulcast3自定义编码视频源。

SDK 不会自动生成多路流,你需要自行生成并推送多路流
MirrorType
public enum bytertc.MirrorType
csharp

镜像类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kMirrorTypeNone0本地预览和编码传输时均无镜像效果
kMirrorTypeRender1本地预览时有镜像效果,编码传输时无镜像效果
kMirrorTypeRenderAndEncoder3本地预览和编码传输时均有镜像效果
VideoRotationMode
public enum bytertc.VideoRotationMode
csharp

视频旋转模式

Defined in : IRTCVideo.cs

枚举值
类型值说明
kVideoRotationModeFollowApp0跟随 App 界面方向
kVideoRotationModeFollowGSensor1跟随设备重力方向
AudioFrameSource
public enum bytertc.AudioFrameSource
csharp

音频文件录制内容来源。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioFrameSourceMic0本地麦克风采集的音频数据。
kAudioFrameSourcePlayback1远端所有用户混音后的数据
kAudioFrameSourceMixed2本地麦克风和所有远端用户音频流的混音后的数据
AudioQuality
public enum bytertc.AudioQuality
csharp

音频质量。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioQualityLow0低音质
kAudioQualityMedium1中音质
kAudioQualityHigh2高音质
kAudioQualityUltraHigh3超高音质
AudioRecordingConfig
public struct bytertc.AudioRecordingConfig
csharp

录音配置

Defined in : IRTCVideo.cs

成员变量
类型名称
absolute_file_name录制文件路径。一个有读写权限的绝对路径,包含文件名和文件后缀。
frame_source录音内容来源,参看 AudioFrameSource。
sample_rate录音采样率。参看 AudioSampleRate。
channel录音音频声道。参看 AudioChannel。
quality录音音质。仅在录制文件格式为 .aac 时可以设置。参看 AudioQuality。
ConnectionState
public enum bytertc.ConnectionState
csharp

SDK 与信令服务器连接状态。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kConnectionStateDisconnected1连接断开。
kConnectionStateConnecting2首次连接,正在连接中。
kConnectionStateConnected3首次连接成功。
kConnectionStateReconnecting4连接断开后重新连接中。
kConnectionStateReconnected5连接断开后重连成功。
kConnectionStateLost6网络连接断开超过 10 秒,仍然会继续重连。
NetworkType
public enum bytertc.NetworkType
csharp

SDK 网络连接类型。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kNetworkTypeUnknown-1网络连接类型未知。
kNetworkTypeDisconnected0网络连接已断开。
kNetworkTypeLAN1网络连接类型为 LAN 。
kNetworkTypeWIFI2网络连接类型为 Wi-Fi(包含热点)。
kNetworkTypeMobile2G3网络连接类型为 2G 移动网络。
kNetworkTypeMobile3G4网络连接类型为 3G 移动网络。
kNetworkTypeMobile4G5网络连接类型为 4G 移动网络。
kNetworkTypeMobile5G6网络连接类型为 5G 移动网络。
RTCAudioDeviceType
public enum bytertc.RTCAudioDeviceType
csharp

音频设备类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kRTCAudioDeviceTypeUnknown-1未知设备类型
kRTCAudioDeviceTypeRenderDevice0音频渲染设备类型
kRTCAudioDeviceTypeCaptureDevice1音频采集设备类型
kRTCAudioDeviceTypeScreenCaptureDevice2屏幕流音频设备
RTCVideoDeviceType
public enum bytertc.RTCVideoDeviceType
csharp

视频设备类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kRTCVideoDeviceTypeUnknown-1未知设备类型
kRTCVideoDeviceTypeRenderDevice0视频渲染设备类型
kRTCVideoDeviceTypeCaptureDevice1视频采集设备类型
kRTCVideoDeviceTypeScreenCaptureDevice2屏幕流视频设备
MediaDeviceState
public enum bytertc.MediaDeviceState
csharp

媒体设备状态。通过 OnAudioDeviceStateChangedEventHandler 或 OnVideoDeviceStateChangedEventHandler 回调设备状态。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kMediaDeviceStateStarted1设备已开启
kMediaDeviceStateStopped2设备已停止
kMediaDeviceStateRuntimeError3设备运行时错误

例如,当媒体设备的预期行为是正常采集,但没有收到采集数据时,将回调该状态。
kMediaDeviceStatePaused4设备已暂停。包括:
+ 采集过程中,目标应用窗体最小化到任务栏。
+ 开启采集或采集过程中,目标应用窗体被隐藏。
+ 采集过程中,目标应用窗体正在被拉伸。
+ 采集过程中,目标应用窗体正在被拖动。
kMediaDeviceStateResumed5设备已恢复
kMediaDeviceStateAdded10设备已插入
kMediaDeviceStateRemoved11设备被移除
kMediaDeviceInterruptionBegan12用户合盖打断了视频通话。如果系统未休眠或关机,将在开盖后自动恢复视频通话。
kMediaDeviceInterruptionEnded13视频通话已从合盖打断中恢复
MediaDeviceError
public enum bytertc.MediaDeviceError
csharp

媒体设备错误类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kMediaDeviceErrorOK0媒体设备正常
kMediaDeviceErrorDeviceNoPermission1没有权限启动媒体设备
kMediaDeviceErrorDeviceBusy2媒体设备已经在使用中
kMediaDeviceErrorDeviceFailure3媒体设备错误
kMediaDeviceErrorDeviceNotFound4未找到指定的媒体设备
kMediaDeviceErrorDeviceDisconnected5媒体设备被移除
对象为采集屏幕流时,表明窗体被关闭或显示器被移除。
kMediaDeviceErrorDeviceNoCallback6设备没有数据回调
kMediaDeviceErrorDeviceUNSupportFormat7设备采样率不支持
kMediaDeviceErrorDeviceNotFindGroupId8iOS 屏幕采集没有 group Id 参数
MediaDeviceWarning
public enum bytertc.MediaDeviceWarning
csharp

媒体设备警告

Defined in : IRTCVideo.cs

枚举值
类型值说明
kMediaDeviceWarningOK0无警告
kMediaDeviceWarningOperationDenied1非法设备操作。在使用外部设备时,调用了 SDK 内部设备 API。
kMediaDeviceWarningCaptureSilence2采集静音。
kMediaDeviceWarningAndroidSysSilence3Android 特有的静音,系统层面的静音上报
kMediaDeviceWarningAndroidSysSilenceDisappear4Android 特有的静音消失
AudioRecordingState
public enum bytertc.AudioRecordingState
csharp

录音配置

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioRecordingStateError0录制异常
kAudioRecordingStateProcessing1录制进行中
kAudioRecordingStateSuccess2已结束录制,并且录制文件保存成功。
SysStats
public struct bytertc.SysStats
csharp

CPU 和内存信息。

Defined in : IRTCVideo.cs

成员变量
类型名称
CpuCoresCPU 核数。
CpuAppUsage当前应用的 CPU 使用率 (%)
CpuTotalUsage当前系统的 CPU 使用率 (%)
MemoryUsage当前 App 的内存使用(单位 MB)
FullMemory全量内存(单位 MB)
TotalMemoryUsage系统已使用内存(单位 MB)
FreeMemory空闲可分配内存(单位 MB)
MemoryRatio当前应用的内存使用率(单位 %)
TotalMemoryRatio系统内存使用率(单位 %)
AudioPropertiesInfo
public struct bytertc.AudioPropertiesInfo
csharp

音频属性信息。

Defined in : IRTCVideo.cs

成员变量
类型名称
LinearVolume线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。

- [0, 25]: 无声

- [26, 75]: 低音量

- [76, 204]: 中音量

- [205, 255]: 高音量
NonlinearVolume非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。

- [-127, -60]: 无声

- [-59, -40]: 低音量

- [-39, -20]: 中音量

- [-19, 0]: 高音量
Spectrum
Vad人声检测(VAD)结果
- 1: 检测到人声。

- 0: 未检测到人声。

- -1: 未开启 VAD。
LocalAudioPropertiesInfo
public struct bytertc.LocalAudioPropertiesInfo
csharp

本地音频属性信息

Defined in : IRTCVideo.cs

成员变量
类型名称
StreamIndex流属性,主流或屏幕流。参看 StreamIndex。
AudioPropertiesInfo音频属性信息,参看 AudioPropertiesInfo。
RemoteAudioPropertiesInfo
public struct bytertc.RemoteAudioPropertiesInfo
csharp

远端音频属性信息

Defined in : IRTCVideo.cs

成员变量
类型名称
StreamKey远端流信息,详见 RemoteStreamKey
AudioPropertiesInfo音频属性信息,详见 AudioPropertiesInfo
VideoPixelFormat
public enum bytertc.VideoPixelFormat
csharp

视频帧颜色编码格式

Defined in : IRTCVideo.cs

枚举值
类型值说明
kVideoPixelFormatUnknown0未知的颜色编码格式
kVideoPixelFormatI4201YUV I420 格式
kVideoPixelFormatNV122YUV NV12 格式
kVideoPixelFormatNV213YUV NV21 格式
kVideoPixelFormatRGB244RGB 24bit格式,
kVideoPixelFormatRGBA5RGBA 编码格式
kVideoPixelFormatARGB6ARGB 编码格式
kVideoPixelFormatBGRA7BGRA 编码格式
kVideoPixelFormatTexture2D0x0DE1Texture2D格式
kVideoPixelFormatTextureOES0x8D65TextureOES格式
VideoContentType
public enum bytertc.VideoContentType
csharp

视频内容类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kVideoContentTypeNormalFrame0普通视频
kVideoContentTypeBlackFrame1黑帧视频
VideoSinkPixelFormat
public enum bytertc.VideoSinkPixelFormat
csharp

视频帧编码格式

Defined in : IRTCVideo.cs

枚举值
类型值说明
kI420VideoPixelFormat.kVideoPixelFormatI420YUV I420 格式
kOriginalVideoPixelFormat.kVideoPixelFormatUnknown原始视频帧格式
VideoFrameType
public enum bytertc.VideoFrameType
csharp

视频帧格式

Defined in : IRTCVideo.cs

枚举值
类型值说明
kVideoFrameTypeRawMemory0原始数据格式,按照内存存储
kVideoFrameTypeCVPixelBuffer1CVPixelBufferRef类型,支持 iOS and macOS 平台
kVideoFrameTypeGLTexture2open gl 纹理数据类型
kVideoFrameTypeCuda3cuda 数据类型
kVideoFrameTypeD3D114direct3d 11 数据格式
kVideoFrameTypeD3D95direct3d 9 数据格式
kVideoFrameTypeJavaFrame6Java的VideoFrame 数据格式
kVideoFrameTypeVAAPI7vaapi 数据格式
ColorSpace
public enum bytertc.ColorSpace
csharp

视频 YUV 格式颜色空间

Defined in : IRTCVideo.cs

枚举值
类型值说明
kColorSpaceUnknown0
kColorSpaceYCbCrBT601LimitedRange1BT.601数字编码标准,颜色空间[16-235]
kColorSpaceYCbCrBT601FullRange2BT.601数字编码标准,颜色空间[0-255]
kColorSpaceYCbCrBT709LimitedRange3BT.7091数字编码标准,颜色空间[16-235]
kColorSpaceYCbCrBT709FullRange4BT.7091数字编码标准,颜色空间[0-255]
VideoFrame
public struct bytertc.VideoFrame
csharp

视频帧

Defined in : IRTCVideo.cs

成员变量
类型名称
FrameType视频帧类型,参看 VideoFrameType。
PixelFormat视频帧格式,参看 VideoPixelFormat。
TimestampUs视频帧时间戳,单位:微秒
Width视频帧宽度,单位:px
Height视频帧高度,单位:px
Rotation视频帧旋转角度
ColorSpace视频帧色彩空间,参看 ColorSpace
NumberOfPlanes获取视频帧像素平面数量
yuv 数据存储格式分为打包(planar)存储格式和平面(packed)存储格式,planar 格式中 Y、U、V 分平面存储,packed 格式中 Y、U、V 交叉存储
PlaneData
PlaneLineSize
ExtraDataInfo扩展数据指针
ExtraDataInfoSize扩展数据字节数
SupplementaryInfo补充数据指针
SupplementaryInfoSize补充数据字节数
****本地缓冲区指针
HwaccelContext硬件加速 Context 对象(AKA Opengl Context, Vulkan Context)
AndroidHwaccelContext硬件加速 Context 的 Java 对象(Only for Android, AKA Opengl Context)
Matrix
TextureId获取纹理 ID(仅针对纹理类型的 frame 生效)
ScreenCaptureSourceType
public enum bytertc.ScreenCaptureSourceType
csharp

屏幕采集对象的类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kScreenCaptureSourceTypeUnknown0类型未知
kScreenCaptureSourceTypeWindow1应用程序的窗口
kScreenCaptureSourceTypeScreen2桌面
ScreenCaptureSourceInfo
public struct bytertc.ScreenCaptureSourceInfo
csharp

屏幕采集对象的具体信息

Defined in : IRTCVideo.cs

成员变量
类型名称
type屏幕分享时,共享对象的类型,参看 ScreenCaptureSourceType
SourceID屏幕分享时,共享对象的 ID。
SourceName屏幕分享时共享对象的名称。
内存在调用 Release 时释放,请及时转为 string 对象保存。
length共享对象的字符串长度。
application共享的应用窗口所属应用的名称。
当共享对象为应用窗口时有效。
调用 Release 时将被释放,请及时转为 string 对象保存。
AppLength应用的字符串长度。
pid共享的应用窗体所属应用进程的 pid。
当共享对象为应用窗体时有效。
PrimaryMonitor共享的屏幕是否为主屏。
当共享对象为屏幕时有效。
RegionRect屏幕共享对象的坐标。参看 Rectangle。
+ 对于多屏幕的场景,不同平台的坐标系原点不同:
- 对于 Windows 平台,屏幕坐标以主屏左上角为原点 (0, 0),向右向下扩展。
— 对于 Linux 平台,屏幕坐标以
+ 对于不同平台,窗口区域不同:
- 对于 Windows 和 macOS 平台,窗口区域包含系统标题栏。
- 对于 Linux 平台,窗口区域不包含系统标题栏。
ContentHint
public enum bytertc.ContentHint
csharp

内部采集屏幕视频流的内容类型。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kContentHintDetails0细节内容。当共享文档、图片时,建议使用该内容类型。
kContentHintMotion1动画内容。当共享视频、游戏时,建议使用该内容类型。
Rectangle
public struct bytertc.Rectangle
csharp

矩形区域

Defined in : IRTCVideo.cs

成员变量
类型名称
X矩形区域左上角的 x 坐标
Y矩形区域左上角的 x 坐标
Width矩形宽度(px)
Height矩形高度(px)
MouseCursorCaptureState
public enum bytertc.MouseCursorCaptureState
csharp

内部采集屏幕视频流时,是否采集鼠标信息

Defined in : IRTCVideo.cs

枚举值
类型值说明
kMouseCursorCaptureStateOn0采集鼠标信息
kMouseCursorCaptureStateOff1不采集鼠标信息
ScreenFilterConfig
public struct bytertc.ScreenFilterConfig
csharp

抓取屏幕时排除指定窗口,默认不排除任何窗体

Defined in : IRTCVideo.cs

成员变量
类型名称
ExcludedWindowList抓取屏幕时排除窗口列表。这个参数仅在抓取屏幕时生效。
ExcludedWindowNum排除窗口的数量。
HighlightConfig
public struct bytertc.HighlightConfig
csharp

屏幕共享时的边框高亮设置

Defined in : IRTCVideo.cs

成员变量
类型名称
EnableHighlight是否显示高亮边框,默认显示。
BorderColor边框的颜色, 颜色格式为十六进制 ARGB: 0xAARRGGBB
BorderWidth边框的宽度,单位:像素
ScreenCaptureParameters
public struct bytertc.ScreenCaptureParameters
csharp

屏幕共享内部采集参数

Defined in : IRTCVideo.cs

成员变量
类型名称
ContentHint内容类型,参看 ContentHint。
RegionRect采集区域,参看 Rectangle。
CaptureMouseCursor是否采集鼠标状态,参看 MouseCursorCaptureState。
FilterConfig屏幕过滤设置,参看 ScreenFilterConfig。
HighlightConfig采集区域的边框高亮设置,参看 HighlightConfig。
AudioSourceType
public enum bytertc.AudioSourceType
csharp

音频输入源类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioSourceTypeExternal0自定义采集音频源
kAudioSourceTypeInternal1RTC SDK 内部采集音频源
AudioSampleRate
public enum bytertc.AudioSampleRate
csharp

音频采样率,单位为 Hz。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioSampleRateAuto-1默认设置。
kAudioSampleRate800080008000 Hz
kAudioSampleRate160001600016000 Hz
kAudioSampleRate320003200032000 Hz
kAudioSampleRate441004410044100 Hz
kAudioSampleRate480004800048000 Hz
AudioChannel
public enum bytertc.AudioChannel
csharp

音频声道。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kAudioChannelAuto-1默认设置。
kAudioChannelMono1单声道
kAudioChannelStereo2双声道
AudioFrameType
public enum bytertc.AudioFrameType
csharp

音频帧类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kFrameTypePCM160PCM 16bit
AudioFrame
public struct bytertc.AudioFrame
csharp

音频帧

Defined in : IRTCVideo.cs

成员变量
类型名称
TimestampUs音频帧时间戳。单位:微秒。
SampleRate音频采样率。参看 AudioSampleRate
Channel音频通道数。参看 AudioChannel
Data音频帧内存块地址
DataSize音频帧数据大小,单位:字节。
FrameType音频帧类型,目前只支持 PCM,详见 AudioFrameType
IsMutedData音频静音标志
EarMonitorMode
public enum bytertc.EarMonitorMode
csharp

是否开启耳返功能。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kEarMonitorModeOff0关闭(默认设置)
kEarMonitorModeOn1开启
VoiceReverbType
public enum bytertc.VoiceReverbType
csharp

混响特效类型。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kVoiceReverbTypeOriginal0原声,不含特效
kVoiceReverbTypeEcho1回声
kVoiceReverbTypeConcert2演唱会
kVoiceReverbTypeEthereal3空灵
kVoiceReverbTypeKTV4KTV
kVoiceReverbTypeStudio5录音棚
kVoiceReverbTypeVirtualStereo6虚拟立体声
kVoiceReverbTypeSpacious7空旷
kVoiceReverbType3D83D人声
ScreenMediaType
public enum bytertc.ScreenMediaType
csharp

屏幕采集媒体类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kScreenMediaTypeVideoOnly0仅采集视频
kScreenMediaTypeAudioOnly1仅采集音频
kScreenMediaTypeVideoAndAudio2同时采集音频和视频
ProblemFeedbackOption
public enum bytertc.ProblemFeedbackOption
csharp

音视频质量反馈问题类型

Defined in : IRTCVideo.cs

枚举值
类型值说明
kProblemFeedbackOptionNone0没有问题
kProblemFeedbackOptionOtherMessage(1 << 0)其他问题
kProblemFeedbackOptionAudioNotClear(1 << 1)声音不清晰
kProblemFeedbackOptionVideoNotClear(1 << 2)视频不清晰
kProblemFeedbackOptionNotSync(1 << 3)音视频不同步
kProblemFeedbackOptionAudioLagging(1 << 4)音频卡顿
kProblemFeedbackOptionVideoLagging(1 << 5)视频卡顿
kProblemFeedbackOptionDisconnected(1 << 6)连接失败
kProblemFeedbackOptionNoAudio(1 << 7)无声音
kProblemFeedbackOptionNoVideo(1 << 8)无画面
kProblemFeedbackOptionAudioStrength(1 << 9)声音过小
kProblemFeedbackOptionEcho(1 << 10)回声噪音
KFeedbackOptionEarBackDelay(1 << 11)耳返延迟大
AudioFrameCallback
public struct bytertc.AudioFrameCallback
csharp

音频数据

Defined in : IRTCVideo.cs

成员变量
类型名称
TimestampUs音频帧时间戳。单位:微秒。
SampleRate音频采样率。参看 AudioSampleRate
Channel音频通道数。参看 AudioChannel
Data音频帧内存块地址
DataSize音频帧数据大小,单位:字节。
FrameType音频帧类型,目前只支持 PCM,详见 AudioFrameType
IsMutedData音频静音标志
CameraID
public enum bytertc.CameraID
csharp

摄像头。

Defined in : IRTCVideo.cs

枚举值
类型值说明
kCameraIDFront0移动端前置摄像头,PC端内置摄像头
kCameraIDBack1移动端后置摄像头,PC端无定义
kCameraIDExternal2外接摄像头
kCameraIDInvalid3无效值
ProblemFeedbackRoomInfo
public struct bytertc.ProblemFeedbackRoomInfo
csharp

音视频质量反馈的房间信息

Defined in : IRTCVideo.cs

成员变量
类型名称
room_id房间 ID。
user_id本地用户 ID。
ProblemFeedbackInfo
public struct bytertc.ProblemFeedbackInfo
csharp

音视频质量反馈的信息

Defined in : IRTCVideo.cs

成员变量
类型名称
problem_desc预设问题以外的其他问题的具体描述。
room_info音视频质量反馈的房间信息。查看 ProblemFeedbackRoomInfo。
room_info_countFeedbackRoomInfo 的数组长度。
JoinRoomType
public enum bytertc.JoinRoomType
csharp

用户加入房间的类型。

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kJoinRoomTypeFirst0首次加入房间。用户手动调用 JoinRoom 加入房间。
kJoinRoomTypeReconnected1重新加入房间。用户网络较差,失去与服务器的连接,进行重连时收到加入成功。
RtcRoomStats
public struct bytertc.RtcRoomStats
csharp

通话相关的统计信息

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
txLostrate当前应用的上行丢包率,取值范围为 [0, 1]
rxLostrate当前应用的下行丢包率,取值范围为 [0, 1]
rtt客户端到服务端数据传输的往返时延(单位 ms)
duration用户进房开始通话后的总时长,单位为 s,累计值
tx_bytes本地用户的总发送字节数 (bytes),累计值
rx_bytes本地用户的总接收字节数 (bytes),累计值
tx_kbitrate发送码率(kbps),获取该数据时的瞬时值
rx_kbitrate接收码率(kbps),获取该数据时的瞬时值
rx_audio_kbitrate音频包的发送码率(kbps),获取该数据时的瞬时值
tx_audio_kbitrate音频接收码率(kbps),获取该数据时的瞬时值
rx_video_kbitrate视频发送码率(kbps),获取该数据时的瞬时值
tx_video_kbitrate视频接收码率(kbps),获取该数据时的瞬时值
user_count当前房间内的可见用户人数。
cpu_app_usage当前应用的 CPU 使用率 (%)
cpu_total_usage当前系统的 CPU 使用率 (%)
tx_jitter系统上行网络抖动(ms)
rx_jitter系统下行网络抖动(ms)
SubscribeConfig
public struct bytertc.SubscribeConfig
csharp

手动订阅流的配置信息。

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
is_screen是否是屏幕流(默认为否)。
sub_video是否订阅视频。
sub_audio是否订阅音频。
video_index订阅的视频流分辨率下标,默认值为 0。
priority远端用户的需求优先级.

+ 0: 用户优先级为低,默认值。
+ 100: 用户优先级为正常。
+ 200: 用户优先级为高。
svc_layer远端用户的时域分层。

仅码流支持SVC特性时可以生效。

+ 0: 不指定分层(默认值)
+ 1: T0 层
+ 2: T0+T1 层
+ 3: T0+T1+T2 层
framerate期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。

当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。

仅码流支持 SVC 分级编码特性时方可生效。
sub_width用户通过指定UI对应的最合适的流的宽度,单位:px
sub_height用户通过指定UI对应的最合适的流的高度,单位:px
UserInfo
public struct bytertc.UserInfo
csharp

用户信息

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
UserID用户 ID。该字符串符合正则表达式:[a-zA-Z0-9_@\-]{1,128}。
ExtraInfo用户的额外信息,最大长度为 200 字节。会在 OnUserJoined 中回调给远端用户。
UserOfflineReason
public enum bytertc.UserOfflineReason
csharp

用户离开房间的原因。

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kUserOfflineReasonQuit0远端用户调用 LeaveRoom 方法主动退出房间。
kUserOfflineReasonDropped1远端用户因网络等原因掉线。
kUserOfflineReasonSwitchToInvisible2远端用户切换至隐身状态。
StreamRemoveReason
public enum bytertc.StreamRemoveReason
csharp

房间内远端流被移除的原因。

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kStreamRemoveReasonUnpublish0远端用户停止发布流。
kStreamRemoveReasonPublishFailed1远端用户发布流失败。
kStreamRemoveReasonKeepLiveFailed2保活失败。
kStreamRemoveReasonClientDisconnected3远端用户断网。
kStreamRemoveReasonRepublish4远端用户重新发布流。
kStreamRemoveReasonOther5其他原因。
SubscribeState
public enum bytertc.SubscribeState
csharp

订阅媒体流状态

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kSubscribeStateSuccess0订阅/取消订阅流成功
kSubscribeStateFailedNotInRoom1订阅/取消订阅流失败,本地用户未在房间中
kSubscribeStateFailedStreamNotFound2订阅/取消订阅流失败,房间内未找到指定的音视频流
kSubscribeStateFailedOverLimit3超过订阅流数上限
SEIStreamEventType
public enum bytertc.SEIStreamEventType
csharp

黑帧视频流状态

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kSEIStreamEventTypeStreamAdd0远端用户发布黑帧视频流。

纯语音通话场景下,远端用户调用 SendSEIMessage 发送 SEI 数据时,SDK 会自动发布一路黑帧视频流,并触发该回调。
kSEIStreamEventTypeStreamRemove1远端黑帧视频流移除。该回调的触发时机包括:

+ 远端用户开启摄像头采集,由语音通话切换至视频通话,黑帧视频流停止发布;

+ 远端用户调用 SendSEIMessage 后 1min 内未有 SEI 数据发送,黑帧视频流停止发布;

+ 远端用户调用 SetVideoSourceType 切换至自定义视频采集时,黑帧视频流停止发布。
RemoteStreamKey
public struct bytertc.RemoteStreamKey
csharp

远端流信息

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
RoomID媒体流所在房间的房间 ID。
UserID用户 ID
streamIndex流属性,主流或屏幕流。参看 StreamIndex
RoomProfileType
public enum bytertc.RoomProfileType
csharp

房间模式

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kRoomProfileTypeCommunication0普通音视频通话模式。

单声道,采样率为 48kHz。

你应在 1V1 音视频通话时,使用此设置。

此设置下,弱网抗性较好。
kRoomProfileTypeLiveBroadcasting1直播模式。

单声道,采样率为 48kHz。

当你对音视频通话的音质和画质要求较高时,应使用此设置。

此设置下,当用户使用蓝牙耳机收听时,蓝牙耳机使用媒体模式。
kRoomProfileTypeGame2游戏语音模式。

单声道,采样率为 16kHz。

低端机在此模式下运行时,进行了额外的性能优化:

+ 部分低端机型配置编码帧长 40/60

+ 部分低端机型关闭软件 3A 音频处理

增强对 iOS 其他屏幕录制进行的兼容性,避免音频录制被 RTC 打断。
kRoomProfileTypeCloudGame3云游戏模式。

单声道,采样率为 48kHz。

如果你需要低延迟、高码率的设置时,你可以使用此设置。

此设置下,弱网抗性较差。
kRoomProfileTypeLowLatency4低时延模式。SDK 会使用低延时设置。

当你的场景非游戏或云游戏场景,又需要极低延时的体验时,可以使用该模式。

该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。

在使用此模式前,强烈建议咨询技术支持同学。
LocalAudioStreamState
public enum bytertc.LocalAudioStreamState
csharp

本地音频流状态。
SDK 通过 OnLocalAudioStateChangedEventHandler 回调本地音频流状态

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kLocalAudioStreamStateStopped0本地音频默认初始状态。
麦克风停止工作时回调该状态,对应错误码 kLocalAudioStreamErrorOk
kLocalAudioStreamStateRecording1本地音频录制设备启动成功。
采集到音频首帧时回调该状态,对应错误码 kLocalAudioStreamErrorOk
kLocalAudioStreamStateEncoding2本地音频首帧编码成功。
音频首帧编码成功时回调该状态,对应错误码 kLocalAudioStreamErrorOk
kLocalAudioStreamStateFailed3本地音频启动失败,在以下时机回调该状态:

+ 本地录音设备启动失败,对应错误码 kLocalAudioStreamErrorRecordFailure

+ 检测到没有录音设备权限,对应错误码 kLocalAudioStreamErrorDeviceNoPermission

+ 音频编码失败,对应错误码 kLocalAudioStreamErrorEncodeFailure
kLocalAudioStreamMute4本地音频静音成功后回调该状态。
调用 SetAudioCaptureDeviceMute 成功后回调,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
kLocalAudioStreamUnmute5本地音频解除静音成功后回调该状态。
调用 SetAudioCaptureDeviceMute 成功后回调,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。
RemoteAudioStreamState
public enum bytertc.RemoteAudioStreamState
csharp

远端音频流状态。
SDK 通过 OnLocalAudioStateChangedEventHandler 回调本地音频流状态

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kRemoteAudioStateStopped0不接收远端音频流。

以下情况下会触发回调 onRemoteAudioStateChanged:

+ 本地用户停止接收远端音频流,对应原因是:kRemoteAudioStateChangeReasonLocalMutedRemoteAudioStateChangeReason

+ 远端用户停止发送音频流,对应原因是:kRemoteAudioStateChangeReasonRemoteMutedRemoteAudioStateChangeReason

+ 远端用户离开房间,对应原因是:kRemoteAudioStateChangeReasonRemoteOfflineRemoteAudioStateChangeReason
kRemoteAudioStateStarting1开始接收远端音频流首包。

刚收到远端音频流首包会触发回调 onRemoteAudioStateChanged,
对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted
kRemoteAudioStateDecoding2远端音频流正在解码,正常播放。

以下情况下会触发回调 onRemoteAudioStateChanged:

+ 成功解码远端音频首帧,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted

+ 网络由阻塞恢复正常,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonNetworkRecovery

+ 本地用户恢复接收远端音频流,对应原因是:RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted

+ 远端用户恢复发送音频流,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonRemoteUnmuted
kRemoteAudioStateFrozen3远端音频流卡顿。

网络阻塞、丢包率大于 40% 时,会触发回调 onRemoteAudioStateChanged,
对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonNetworkCongestion
RemoteAudioState
public enum bytertc.RemoteAudioState
csharp

远端音频流状态。

用户可以通过 OnRemoteAudioStateChangedEventHandler 了解该状态。

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kRemoteAudioStateStopped0不接收远端音频流。

以下情况下会触发回调 OnRemoteAudioStateChangedEventHandler:

+ 本地用户停止接收远端音频流,对应原因是:kRemoteAudioStateChangeReasonLocalMutedRemoteAudioStateChangeReason

+ 远端用户停止发送音频流,对应原因是:kRemoteAudioStateChangeReasonRemoteMutedRemoteAudioStateChangeReason

+ 远端用户离开房间,对应原因是:kRemoteAudioStateChangeReasonRemoteOfflineRemoteAudioStateChangeReason
kRemoteAudioStateStarting1开始接收远端音频流首包。

刚收到远端音频流首包会触发回调 OnRemoteAudioStateChangedEventHandler,
对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted
kRemoteAudioStateDecoding2远端音频流正在解码,正常播放。

以下情况下会触发回调 OnRemoteAudioStateChangedEventHandler:

+ 成功解码远端音频首帧,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted

+ 网络由阻塞恢复正常,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonNetworkRecovery

+ 本地用户恢复接收远端音频流,对应原因是:RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted

+ 远端用户恢复发送音频流,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonRemoteUnmuted
kRemoteAudioStateFrozen3远端音频流卡顿。

网络阻塞、丢包率大于 40% 时,会触发回调 OnRemoteAudioStateChangedEventHandler,
对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonNetworkCongestion
RemoteAudioStateChangeReason
public enum bytertc.RemoteAudioStateChangeReason
csharp

接收远端音频流状态改变的原因。

用户可以通过 OnRemoteAudioStateChangedEventHandler 了解该原因。

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kRemoteAudioStateChangeReasonInternal0内部原因
kRemoteAudioStateChangeReasonNetworkCongestion1网络阻塞
kRemoteAudioStateChangeReasonNetworkRecovery2网络恢复正常
kRemoteAudioStateChangeReasonLocalMuted3本地用户停止接收远端音频流
kRemoteAudioStateChangeReasonLocalUnmuted4本地用户恢复接收远端音频流
kRemoteAudioStateChangeReasonRemoteMuted5远端用户停止发送音频流
kRemoteAudioStateChangeReasonRemoteUnmuted6远端用户恢复发送音频流
kRemoteAudioStateChangeReasonRemoteOffline7远端用户离开房间
FirstFrameSendState
public enum bytertc.FirstFrameSendState
csharp

首帧发送状态

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kFirstFrameSendStateSending0发送中
kFirstFrameSendStateSent1发送成功
kFirstFrameSendStateEnd2发送失败
FirstFramePlayState
public enum bytertc.FirstFramePlayState
csharp

首帧播放状态

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kFirstFramePlayStatePlaying0播放中
kFirstFramePlayStatePlayed1播放成功
kFirstFramePlayStateEnd2播放失败
VideoFrameInfo
public struct bytertc.VideoFrameInfo
csharp

视频帧信息

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
width宽(像素)
height高(像素)
rotation视频帧顺时针旋转角度。参看 VideoRotation。
VideoRotation
public enum bytertc.VideoRotation
csharp

视频帧旋转角度

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kVideoRotation00顺时针旋转 0 度
kVideoRotation9090顺时针旋转 90 度
kVideoRotation180180顺时针旋转 180 度
kVideoRotation270270顺时针旋转 270 度
LocalVideoStreamState
public enum bytertc.LocalVideoStreamState
csharp

本地视频流状态

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kLocalVideoStreamStateStopped0本地视频采集停止状态
kLocalVideoStreamStateRecording1本地视频采集设备启动成功
kLocalVideoStreamStateEncoding2本地视频采集后,首帧编码成功
kLocalVideoStreamStateFailed3本地视频采集设备启动失败
MultiRoomConfig
public class bytertc.MultiRoomConfig
csharp

多房间参数配置

Defined in : IRTCVideoRoom.cs

成员函数
返回名称
****MultiRoomConfig
函数说明

MultiRoomConfig
public bytertc.MultiRoomConfig.MultiRoomConfig(
    RoomProfileType roomProfile)
csharp
RemoteVideoConfig
public struct bytertc.RemoteVideoConfig
csharp

远端视频帧信息

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
framerate期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。

当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。

仅码流支持 SVC 分级编码特性时方可生效。
resolutionWidth视频宽度,单位:px
resolutionHeight视频高度,单位:px
MediaStreamType
public enum bytertc.MediaStreamType
csharp

媒体流类型

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kMediaStreamTypeAudio0只控制音频
kMediaStreamTypeVideo1只控制视频
kMediaStreamTypeBoth2同时控制音频和视频
StreamIndex
public enum bytertc.StreamIndex
csharp

流属性

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kStreamIndexMain0主流。包括:

+ 由摄像头/麦克风通过内部采集机制,采集到的视频/音频;

+ 通过自定义采集,采集到的视频/音频。
kStreamIndexScreen1屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。
RtcUser
public struct bytertc.RtcUser
csharp

用户信息

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
UserID用户 ID
MetaData元数据
RemoteVideoState
public enum bytertc.RemoteVideoState
csharp

远端视频流状态。状态改变时,会收到 OnRemoteVideoStateChangedEventHandler 回调

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kRemoteVideoStateStopped0远端视频流默认初始状态,视频尚未开始播放。
kRemoteVideoStateStarting1本地用户已接收远端视频流首包。
kRemoteVideoStateDecoding2远端视频流正在解码,正常播放。
kRemoteVideoStateFrozen3远端视频流卡顿,可能有网络等原因。
kRemoteVideoStateFailed4远端视频流播放失败。
RemoteVideoStateChangeReason
public enum bytertc.RemoteVideoStateChangeReason
csharp

远端视频流状态改变的原因

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kRemoteVideoStateChangeReasonInternal0内部原因
kRemoteVideoStateChangeReasonNetworkCongestion1网络阻塞
kRemoteVideoStateChangeReasonNetworkRecovery2网络恢复正常
kRemoteVideoStateChangeReasonLocalMuted3本地用户停止接收远端视频流或本地用户禁用视频模块
kRemoteVideoStateChangeReasonLocalUnmuted4本地用户恢复接收远端视频流或本地用户启用视频模块
kRemoteVideoStateChangeReasonRemoteMuted5远端用户停止发送视频流或远端用户禁用视频模块
kRemoteVideoStateChangeReasonRemoteUnmuted6远端用户恢复发送视频流或远端用户启用视频模块
kRemoteVideoStateChangeReasonRemoteOffline7远端用户离开频道。状态转换参考 OnUserUnPublishStream。
PauseResumeControlMediaType
public enum bytertc.PauseResumeControlMediaType
csharp

暂停/恢复接收远端的媒体流类型。

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kRTCPauseResumeControlMediaTypeAudio0只控制音频,不影响视频
kRTCPauseResumeControlMediaTypeVideo1只控制视频,不影响音频
kRTCPauseResumeControlMediaTypeVideoAndAudio2同时控制音频和视频
Position
public struct bytertc.Position
csharp

范围语音中用户的位置,坐标系需要自行建立。

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
xx 坐标
yy 坐标
zz 坐标
NetworkQualityStats
public struct bytertc.NetworkQualityStats
csharp

上行/下行网络质量

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
uid用户 ID
fraction_lost本端的上行/下行的丢包率,范围 [0.0,1.0]
当 uid 为本地用户时,代表发布流的上行丢包率。
当 uid 为远端用户时,代表接收所有订阅流的下行丢包率。
rtt当 uid 为本地用户时有效,客户端到服务端的往返延时(RTT),单位:ms
total_bandwidth本端的音视频 RTP 包 2 秒内的平均传输速率,单位:bps
当 uid 为本地用户时,代表发送速率。
当 uid 为远端用户时,代表所有订阅流的接收速率。
tx_quality上行网络质量评分,详见 NetworkQuality。
rx_quality下行网络质量评分,详见 NetworkQuality。
NetworkQuality
public enum bytertc.NetworkQuality
csharp

媒体流网络质量。

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kNetworkQualityUnknown0网络质量未知。
kNetworkQualityExcellent1网络质量极好。
kNetworkQualityGood2主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。
kNetworkQualityPoor3主观感受有瑕疵但不影响沟通。
kNetworkQualityBad4勉强能沟通但不顺畅。
kNetworkQualityVbad5网络质量非常差,基本不能沟通。
LocalStreamStats
public struct bytertc.LocalStreamStats
csharp

本地音/视频流统计信息,统计周期为 2s 。

本地用户发布音/视频流成功后,SDK 会周期性地通过 OnLocalStreamStatsEventHandler 通知本地用户发布的音/视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
audio_stats本地设备发送音频流的统计信息,详见 LocalAudioStats 。
video_stats本地设备发送视频流的统计信息,详见 LocalVideoStats 。
is_screen所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
LocalAudioStats
public struct bytertc.LocalAudioStats
csharp

本地音频流统计信息,统计周期为 2s 。

本地用户发布音频流成功后,SDK 会周期性地通过 OnLocalStreamStatsEventHandler 通知用户发布的音频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
audio_loss_rate音频丢包率。此次统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
send_kbitrate发送码率。此次统计周期内的音频发送码率,单位为 kbps 。
record_sample_rate采集采样率。此次统计周期内的音频采集采样率信息,单位为 Hz 。
stats_interval统计间隔。此次统计周期的间隔,单位为 ms 。

此字段用于设置回调的统计周期,默认设置为 2s 。
rtt往返时延。单位为 ms 。
num_channels音频声道数。
sent_sample_rate音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。
jitter音频上行网络抖动,单位为 ms 。
LocalVideoStats
public struct bytertc.LocalVideoStats
csharp

本地视频流统计信息,统计周期为 2s 。

本地用户发布视频流成功后,SDK 会周期性地通过 OnLocalStreamStatsEventHandler 通知用户发布的视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
sent_kbitrate发送码率。此次统计周期内实际发送的分辨率最大的视频流的发送码率,单位为 Kbps
input_frame_rate采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。
sent_frame_rate发送帧率。此次统计周期内实际发送的分辨率最大的视频流的视频发送帧率,单位为 fps 。
encoder_output_frame_rate编码器输出帧率。当前编码器在此次统计周期内实际发送的分辨率最大的视频流的输出帧率,单位为 fps 。
renderer_output_frame_rate本地渲染帧率。此次统计周期内的本地视频渲染帧率,单位为 fps 。
stats_interval统计间隔,单位为 ms 。
此字段用于设置回调的统计周期,默认设置为 2s 。
video_loss_rate视频丢包率。此次统计周期内的视频上行丢包率,取值范围: [0,1] 。
rtt往返时延,单位为 ms 。
encoded_bitrate视频编码码率。此次统计周期内的实际发送的分辨率最大的视频流视频编码码率,单位为 Kbps 。
encoded_frame_width实际发送的分辨率最大的视频流的视频编码宽度,单位为 px 。
encoded_frame_height实际发送的分辨率最大的视频流的视频编码高度,单位为 px 。
encoded_frame_count此次统计周期内实际发送的分辨率最大的视频流的发送的视频帧总数。
codec_type视频的编码类型,具体参考 VideoCodecType 。
is_screen所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
jitter视频上行网络抖动,单位为 ms 。
VideoCodecType
public enum bytertc.VideoCodecType
csharp

视频的编码类型

Defined in : IRTCVideoRoom.cs

枚举值
类型值说明
kVideoCodecTypeUnknown0未知类型
kVideoCodecTypeH2641标准 H264 编码格式
kVideoCodecTypeByteVC12ByteVC1 编码格式
RemoteStreamStats
public struct bytertc.RemoteStreamStats
csharp

用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s。

订阅远端用户发布音/视频流成功后,SDK 会周期性地通过 OnRemoteStreamStatsEventHandler 通知本地用户订阅的远端音/视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
uid用户 ID 。音/视频来源的远端用户 ID 。
audio_stats远端音频流的统计信息,详见 RemoteAudioStats
video_stats远端视频流的统计信息,详见 RemoteVideoStats
is_screen所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
RemoteAudioStats
public struct bytertc.RemoteAudioStats
csharp

远端音频流统计信息,统计周期为 2s。

本地用户订阅远端音频流成功后,SDK 会周期性地通过 OnRemoteStreamStatsEventHandler 通知本地用户订阅的音频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
audio_loss_rate音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
received_kbitrate接收码率。统计周期内的音频接收码率,单位为 kbps 。
stall_count音频卡顿次数。统计周期内的卡顿次数。
stall_duration音频卡顿时长。统计周期内的卡顿时长,单位为 ms 。
e2e_delay用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。
playout_sample_rate播放采样率。统计周期内的音频播放采样率信息,单位为 Hz 。
stats_interval统计间隔。此次统计周期的间隔,单位为 ms 。
rtt客户端到服务端数据传输的往返时延,单位为 ms 。
total_rtt发送端——服务端——接收端全链路数据传输往返时延。单位为 ms 。
quality远端用户发送的音频流质量。值含义参考 NetworkQuality 。
jitter_buffer_delay因引入 jitter buffer 机制导致的延时。单位为 ms 。
num_channels音频声道数。
received_sample_rate音频接收采样率。统计周期内接收到的远端音频采样率信息,单位为 Hz 。
frozen_rate远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。
concealed_samples音频丢包补偿(PLC) 样点总个数。
concealment_event音频丢包补偿(PLC) 累计次数。
dec_sample_rate音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。
dec_duration此次订阅中,对远端音频流进行解码的累计耗时。单位为 s。
jitter音频下行网络抖动,单位为 ms 。
RemoteVideoStats
public struct bytertc.RemoteVideoStats
csharp

远端视频流统计信息,统计周期为 2s 。

本地用户订阅远端视频流成功后,SDK 会周期性地通过 OnRemoteStreamStatsEventHandler
通知本地用户订阅的远端视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。

Defined in : IRTCVideoRoom.cs

成员变量
类型名称
width远端视频流宽度
height远端视频流高度
video_loss_rate视频丢包率。统计周期内的视频下行丢包率,单位为 % ,取值范围为 [0,1] 。
received_kbitrate接收码率。统计周期内的视频接收码率,单位为 kbps 。
decoder_output_frame_rate解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。
renderer_output_frame_rate渲染帧率。统计周期内的视频渲染帧率,单位 fps 。
stall_count卡顿次数。统计周期内的卡顿次数。
stall_duration卡顿时长。统计周期内的视频卡顿总时长。单位 ms 。
e2e_delay用户体验级别的端到端延时,从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为毫秒
is_screen所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
stats_interval统计间隔,此次统计周期的间隔,单位为 ms 。

此字段用于设置回调的统计周期,目前设置为 2s 。
rtt往返时延,单位为 ms 。
frozen_rate远端用户在进房后发生视频卡顿的累计时长占视频总有效时长的百分比(%)。视频有效时长是指远端用户进房发布视频流后,除停止发送视频流和禁用视频模块之外的视频时长。
video_index对应多种分辨率的流的下标。
jitter视频下行网络抖动,单位为 ms。
Orientation
public struct bytertc.Orientation
csharp

坐标

Defined in : ISpatialAudio.cs

成员变量
类型名称
xx 方向向量
yy 方向向量
zz 方向向量
HumanOrientation
public struct bytertc.HumanOrientation
csharp

三维朝向信息,三个向量需要两两垂直。参看 Orientation。

Defined in : ISpatialAudio.cs

成员变量
类型名称
****正前方朝向,默认值为 {1,0,0},即正前方朝向 x 轴正方向
****正右方朝向,默认值为 {0,1,0},即右手朝向 y 轴正方向
****正上方朝向,默认值为 {0,0,1},即头顶朝向 z 轴正方向