public struct bytertc.ReceiveRange
csharp使用范围语音功能时,语音的接收范围
Defined in : IRangeAudio.cs
| 类型 | 名称 |
|---|---|
| min | 收听声音无衰减的最小范围值。 当收听者和声源距离小于 min 的时候,收听到的声音完全无衰减。 |
| max | 能够收听到声音的最大范围。 当收听者和声源距离大于 max 的时候,无法收听到声音。 当收听者和声源距离处于 [min, max) 之间时,收听到的音量根据距离有衰减。 |
public struct bytertc.RangeAudioInfo
csharp范围语音信息
Defined in : IRangeAudio.cs
| 类型 | 名称 |
|---|---|
| user_id | 用户 ID。 |
| factor | 音量衰减量。取值范围是 [0,100],随距离呈线性衰减,当 factor 为 0 时,表示听不到声音。 |
public struct bytertc.RTCVideoEngineParams
csharp引擎初始化参数
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| AppID | 应用 ID。 |
| Params | 初始化参数。 |
public enum bytertc.AudioProfileType
csharp音质档位
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioProfileTypeDefault | 0 | 默认音质。 服务器下发或客户端已设置的 RoomProfileType 的音质配置。 |
| kAudioProfileTypeFluent | 1 | 流畅音质。 单声道,采样率为 16kHz,编码码率为 24kbps。 流畅优先、低延迟、低功耗、低流量消耗,适用于大部分游戏场景,如 MMORPG、MOBA、FPS 等游戏中的小队语音、组队语音、国战语音等。 |
| kAudioProfileTypeStandard | 2 | 标准音质。 单声道,采样率为 48kHz,编码码率为 48kbps。 适用于对音质有一定要求的场景,同时延时、功耗和流量消耗相对适中,适合教育场景和 Sirius 等狼人杀类游戏。 |
| kAudioProfileTypeHD | 3 | 高清音质 双声道,采样率为 48kHz,编码码率为 128 Kbps。 超高音质,同时延时、功耗和流量消耗相对较大,适用于连麦 PK 等音乐场景。 游戏场景不建议使用。 |
| kAudioProfileTypeStandardStereo | 4 | 双声道标准音质。 采样率为 48 KHz,编码码率最大值为 80 Kbps。 |
| kAudioProfileTypeHDMono | 5 | 单声道音乐音质。采样率为 48 kHz,编码码率最大值为 64 Kbps。 |
public enum bytertc.AudioScenarioType
csharp音频场景类型
选择音频场景后,SDK 会自动根据客户端音频采集播放设备和状态,适用通话音量/媒体音量。
你可以调用 SetAudioScenario 设置音频场景。
如果以下音频场景类型无法满足你的业务需要,请联系技术支持同学进行定制。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| kAudioScenarioTypeMusic | 0 | 音乐场景。默认为此场景。 此场景适用于对音乐表现力有要求的场景。如音乐直播等。 音频采集播放设备和采集播放状态,到音量类型的映射如下:
| ||||||||||||||||||||
| kAudioScenarioTypeHighQualityCommunication | 1 | 高质量通话场景。 此场景适用于对音乐表现力有要求的场景。但又希望能够使用蓝牙耳机上自带的麦克风进行音频采集的场景。 此场景可以兼顾外放/使用蓝牙耳机时的音频体验;并尽可能避免使用蓝牙耳机时音量类型切换导致的听感突变。 音频采集播放设备和采集播放状态,到音量类型的映射如下:
| ||||||||||||||||||||
| kAudioScenarioTypeCommunication | 2 | 纯通话音量场景。 此场景下,无论客户端音频采集播放设备和采集播放状态,全程使用通话音量。 适用于需要频繁上下麦的通话或会议场景。 此场景可以保持统一的音频模式,不会有音量突变的听感; 最大程度上的消除回声,使通话清晰度达到最优; 使用蓝牙耳机时,能够使用蓝牙耳机上自带的麦克风进行音频采集。 但是,使用媒体音量进行播放的其他音频的音量会被压低,且音质会变差。 | ||||||||||||||||||||
| kAudioScenarioTypeMedia | 3 | 纯媒体场景。一般不建议使用。 此场景下,无论客户端音频采集播放设备和采集播放状态,全程使用媒体音量。 | ||||||||||||||||||||
| kAudioScenarioTypeGameStreaming | 4 | 游戏媒体场景。仅适合游戏场景。 此场景下,蓝牙耳机时使用通话音量,其它设备使用媒体音量。 外放通话且无游戏音效消除优化时,极易出现回声和啸叫。 |
public enum bytertc.AudioRouteDevice
csharp音频播放路由。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioRouteDeviceUnknown | -1 | 未知设备 |
| kAudioRouteDeviceHeadset | 1 | 有线耳机 |
| kAudioRouteDeviceEarpiece | 2 | 听筒。设备自带的,一般用于通话的播放硬件。 |
| kAudioRouteDeviceSpeakerphone | 3 | 扬声器。设备自带的,一般用于免提播放的硬件。 |
| kAudioRouteDeviceHeadsetBluetooth | 4 | 蓝牙耳机 |
| kAudioRouteDeviceHeadsetUSB | 5 | USB 设备 |
public struct bytertc.AudioPropertiesConfig
csharp音频属性信息提示的相关配置。
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| Interval | 信息提示间隔,单位:ms |
| EnableSpectrum | 是否开启音频频谱检测 |
| EnableVad | 是否开启人声检测 (VAD) |
public enum bytertc.AudioFrameCallbackMethod
csharp音频回调方法
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioFrameCallbackRecord | 0 | 本地麦克风录制的音频数据回调 |
| kAudioFrameCallbackPlayback | 1 | 订阅的远端所有用户混音后的音频数据回调 |
| kAudioFrameCallbackMixed | 2 | 本地麦克风录制和订阅的远端所有用户混音后的音频数据回调 |
| kAudioFrameCallbackRemoteUser | 3 | 订阅的远端每个用户混音前的音频数据回调 |
| kAudioFrameCallbackRecordScreen | 4 | 本地屏幕录制的音频数据回调 |
public enum bytertc.SyncInfoStreamType
csharp媒体流信息同步的流类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kSyncInfoStreamTypeAudio | 0 | 音频流 |
public struct bytertc.AudioFormat
csharp音频参数格式
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| SampleRate | 音频采样率,参看 AudioSampleRate。 |
| Channel | 音频声道,参看 AudioChannel。 |
public enum bytertc.AudioProcessorMethod
csharp返回给音频处理器的音频类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioFrameProcessorRecord | 0 | 本地采集的音频 |
| kAudioFrameProcessorPlayback | 1 | 远端音频流的混音音频 |
| kAudioFrameProcessorRemoteUser | 2 | 各个远端音频流 |
| kAudioFrameProcessorEarMonitor | 3 | 软件耳返音频。 |
| kAudioFrameProcessorScreen | 4 | 屏幕共享音频。 |
public enum bytertc.CapturePreference
csharp视频采集模式
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| KAuto | 0 | (默认)自动设置采集参数。 SDK在开启采集时根据服务端下发的采集配置结合编码参数设置最佳采集参数。 |
| KManual | 1 | 手动设置采集参数,包括采集分辨率、帧率。 |
| KAutoPerformance | 2 | 采集参数与编码参数一致,即在 SetVideoEncoderConfig1 中设置的参数。 |
public struct bytertc.VideoCaptureConfig
csharp视频采集配置
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| CapturePreference | 视频采集模式,参看 CapturePreference。 |
| Width | 视频采集分辨率的宽度,单位:px。 |
| Height | 视频采集分辨率的高度,单位:px。 |
| FrameRate | 视频采集帧率,单位:fps。 |
public enum bytertc.VideoStreamScaleMode
csharp视频帧缩放模式
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kVideoStreamScaleModeAuto | 0 | 自动模式,默认值为 kVideoStreamScaleModeFitWithCropping |
| kVideoStreamScaleModeStretch | 1 | 对视频帧进行缩放,直至充满和视窗分辨率一致为止。这一过程不保证等比缩放。这一过程不保证等比缩放。 |
| kVideoStreamScaleModeFitWithCropping | 2 | 视窗填满优先。 视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。 缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。 |
| kVideoStreamScaleModeFitWithFilling | 3 | 视频帧内容全部显示优先。 视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。 缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。 |
public enum bytertc.VideoEncodePreference
csharp编码策略偏好。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kVideoEncodePreferenceDisabled | 0 | 无偏好。不降低帧率和分辨率。 |
| kVideoEncodePreferenceFramerate | 1 | (默认值)帧率优先。 |
| kVideoEncodePreferenceQuality | 2 | 分辨率优先。 |
| kVideoEncodePreferenceBalance | 3 | 平衡帧率与分辨率。 |
public struct bytertc.ScreenVideoEncoderConfig
csharp屏幕编码配置。参考 设置视频发布参数。
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| Width | 视频宽度,单位:像素。 |
| Height | 视频高度,单位:像素。 |
| FrameRate | 视频帧率,单位:fps。 |
| MaxBitrate | 最大编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。默认值为 –1。 设为 -1 即适配码率模式,系统将根据输入的分辨率和帧率自动计算适用的码率。 设为 0 则不对视频流进行编码发送。 |
| MinBitrate | 最小编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。 最小编码码率必须小于或等于最大编码,否则不对视频流进行编码发送。 |
| EncoderPreference | 屏幕流编码模式。参见 ScreenVideoEncodePreference。 |
public enum bytertc.ScreenVideoEncodePreference
csharp屏幕流编码模式。默认采用清晰模式。若在采集时设置 ScreenFilterConfig 排除指定窗口,共享视频时帧率无法达到 30fps。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kScreenVideoEncodePreferenceAuto | 0 | 智能模式。根据屏幕内容智能决策选择流畅模式或清晰模式。 |
| kScreenVideoEncodePreferenceFramerate | 1 | 流畅模式,优先保障帧率。适用于共享游戏、视频等动态画面。 |
| kScreenVideoEncodePreferenceQuality | 2 | 清晰模式,优先保障分辨率。适用于共享PPT、文档、图片等静态画面。 |
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。 |
public enum bytertc.VideoSourceType
csharp视频输入源类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| VideoSourceTypeExternal | 0 | 自定义采集视频源 |
| VideoSourceTypeInternal | 1 | 内部采集视频源 |
| VideoSourceTypeEncodedWithAutoSimulcast | 2 | 自定义编码视频源。 你仅需推送分辨率最大的一路编码后视频流,SDK 将自动转码生成多路小流 |
| VideoSourceTypeEncodedWithoutAutoSimulcast | 3 | 自定义编码视频源。 SDK 不会自动生成多路流,你需要自行生成并推送多路流 |
public enum bytertc.MirrorType
csharp镜像类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kMirrorTypeNone | 0 | 本地预览和编码传输时均无镜像效果 |
| kMirrorTypeRender | 1 | 本地预览时有镜像效果,编码传输时无镜像效果 |
| kMirrorTypeRenderAndEncoder | 3 | 本地预览和编码传输时均有镜像效果 |
public enum bytertc.VideoRotationMode
csharp视频旋转模式
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kVideoRotationModeFollowApp | 0 | 跟随 App 界面方向 |
| kVideoRotationModeFollowGSensor | 1 | 跟随设备重力方向 |
public enum bytertc.ConnectionState
csharpSDK 与信令服务器连接状态。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kConnectionStateDisconnected | 1 | 连接断开。 |
| kConnectionStateConnecting | 2 | 首次连接,正在连接中。 |
| kConnectionStateConnected | 3 | 首次连接成功。 |
| kConnectionStateReconnecting | 4 | 连接断开后重新连接中。 |
| kConnectionStateReconnected | 5 | 连接断开后重连成功。 |
| kConnectionStateLost | 6 | 网络连接断开超过 10 秒,仍然会继续重连。 |
public enum bytertc.NetworkType
csharpSDK 网络连接类型。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kNetworkTypeUnknown | -1 | 网络连接类型未知。 |
| kNetworkTypeDisconnected | 0 | 网络连接已断开。 |
| kNetworkTypeLAN | 1 | 网络连接类型为 LAN 。 |
| kNetworkTypeWIFI | 2 | 网络连接类型为 Wi-Fi(包含热点)。 |
| kNetworkTypeMobile2G | 3 | 网络连接类型为 2G 移动网络。 |
| kNetworkTypeMobile3G | 4 | 网络连接类型为 3G 移动网络。 |
| kNetworkTypeMobile4G | 5 | 网络连接类型为 4G 移动网络。 |
| kNetworkTypeMobile5G | 6 | 网络连接类型为 5G 移动网络。 |
public enum bytertc.RTCAudioDeviceType
csharp音频设备类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kRTCAudioDeviceTypeUnknown | -1 | 未知设备类型 |
| kRTCAudioDeviceTypeRenderDevice | 0 | 音频渲染设备类型 |
| kRTCAudioDeviceTypeCaptureDevice | 1 | 音频采集设备类型 |
| kRTCAudioDeviceTypeScreenCaptureDevice | 2 | 屏幕流音频设备 |
public enum bytertc.RTCVideoDeviceType
csharp视频设备类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kRTCVideoDeviceTypeUnknown | -1 | 未知设备类型 |
| kRTCVideoDeviceTypeRenderDevice | 0 | 视频渲染设备类型 |
| kRTCVideoDeviceTypeCaptureDevice | 1 | 视频采集设备类型 |
| kRTCVideoDeviceTypeScreenCaptureDevice | 2 | 屏幕流视频设备 |
public enum bytertc.MediaDeviceState
csharp媒体设备状态。通过 OnAudioDeviceStateChangedEventHandler 或 OnVideoDeviceStateChangedEventHandler 回调设备状态。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kMediaDeviceStateStarted | 1 | 设备已开启 |
| kMediaDeviceStateStopped | 2 | 设备已停止 |
| kMediaDeviceStateRuntimeError | 3 | 设备运行时错误 例如,当媒体设备的预期行为是正常采集,但没有收到采集数据时,将回调该状态。 |
| kMediaDeviceStatePaused | 4 | 设备已暂停。包括: + 采集过程中,目标应用窗体最小化到任务栏。 + 开启采集或采集过程中,目标应用窗体被隐藏。 + 采集过程中,目标应用窗体正在被拉伸。 + 采集过程中,目标应用窗体正在被拖动。 |
| kMediaDeviceStateResumed | 5 | 设备已恢复 |
| kMediaDeviceStateAdded | 10 | 设备已插入 |
| kMediaDeviceStateRemoved | 11 | 设备被移除 |
| kMediaDeviceInterruptionBegan | 12 | 用户合盖打断了视频通话。如果系统未休眠或关机,将在开盖后自动恢复视频通话。 |
| kMediaDeviceInterruptionEnded | 13 | 视频通话已从合盖打断中恢复 |
public enum bytertc.MediaDeviceError
csharp媒体设备错误类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kMediaDeviceErrorOK | 0 | 媒体设备正常 |
| kMediaDeviceErrorDeviceNoPermission | 1 | 没有权限启动媒体设备 |
| kMediaDeviceErrorDeviceBusy | 2 | 媒体设备已经在使用中 |
| kMediaDeviceErrorDeviceFailure | 3 | 媒体设备错误 |
| kMediaDeviceErrorDeviceNotFound | 4 | 未找到指定的媒体设备 |
| kMediaDeviceErrorDeviceDisconnected | 5 | 媒体设备被移除 对象为采集屏幕流时,表明窗体被关闭或显示器被移除。 |
| kMediaDeviceErrorDeviceNoCallback | 6 | 设备没有数据回调 |
| kMediaDeviceErrorDeviceUNSupportFormat | 7 | 设备采样率不支持 |
| kMediaDeviceErrorDeviceNotFindGroupId | 8 | iOS 屏幕采集没有 group Id 参数 |
public enum bytertc.MediaDeviceWarning
csharp媒体设备警告
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kMediaDeviceWarningOK | 0 | 无警告 |
| kMediaDeviceWarningOperationDenied | 1 | 非法设备操作。在使用外部设备时,调用了 SDK 内部设备 API。 |
| kMediaDeviceWarningCaptureSilence | 2 | 采集静音。 |
| kMediaDeviceWarningAndroidSysSilence | 3 | Android 特有的静音,系统层面的静音上报 |
| kMediaDeviceWarningAndroidSysSilenceDisappear | 4 | Android 特有的静音消失 |
public struct bytertc.SysStats
csharpCPU 和内存信息。
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| CpuCores | CPU 核数。 |
| CpuAppUsage | 当前应用的 CPU 使用率 (%) |
| CpuTotalUsage | 当前系统的 CPU 使用率 (%) |
| MemoryUsage | 当前 App 的内存使用(单位 MB) |
| FullMemory | 全量内存(单位 MB) |
| TotalMemoryUsage | 系统已使用内存(单位 MB) |
| FreeMemory | 空闲可分配内存(单位 MB) |
| MemoryRatio | 当前应用的内存使用率(单位 %) |
| TotalMemoryRatio | 系统内存使用率(单位 %) |
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。 |
public struct bytertc.LocalAudioPropertiesInfo
csharp本地音频属性信息
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| StreamIndex | 流属性,主流或屏幕流。参看 StreamIndex。 |
| AudioPropertiesInfo | 音频属性信息,参看 AudioPropertiesInfo。 |
public struct bytertc.RemoteAudioPropertiesInfo
csharp远端音频属性信息
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| StreamKey | 远端流信息,详见 RemoteStreamKey |
| AudioPropertiesInfo | 音频属性信息,详见 AudioPropertiesInfo |
public enum bytertc.VideoPixelFormat
csharp视频帧颜色编码格式
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kVideoPixelFormatUnknown | 0 | 未知的颜色编码格式 |
| kVideoPixelFormatI420 | 1 | YUV I420 格式 |
| kVideoPixelFormatNV12 | 2 | YUV NV12 格式 |
| kVideoPixelFormatNV21 | 3 | YUV NV21 格式 |
| kVideoPixelFormatRGB24 | 4 | RGB 24bit格式, |
| kVideoPixelFormatRGBA | 5 | RGBA 编码格式 |
| kVideoPixelFormatARGB | 6 | ARGB 编码格式 |
| kVideoPixelFormatBGRA | 7 | BGRA 编码格式 |
| kVideoPixelFormatTexture2D | 0x0DE1 | Texture2D格式 |
| kVideoPixelFormatTextureOES | 0x8D65 | TextureOES格式 |
public enum bytertc.VideoContentType
csharp视频内容类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kVideoContentTypeNormalFrame | 0 | 普通视频 |
| kVideoContentTypeBlackFrame | 1 | 黑帧视频 |
public enum bytertc.VideoSinkPixelFormat
csharp视频帧编码格式
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kI420 | VideoPixelFormat.kVideoPixelFormatI420 | YUV I420 格式 |
| kOriginal | VideoPixelFormat.kVideoPixelFormatUnknown | 原始视频帧格式 |
public enum bytertc.VideoFrameType
csharp视频帧格式
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kVideoFrameTypeRawMemory | 0 | 原始数据格式,按照内存存储 |
| kVideoFrameTypeCVPixelBuffer | 1 | CVPixelBufferRef类型,支持 iOS and macOS 平台 |
| kVideoFrameTypeGLTexture | 2 | open gl 纹理数据类型 |
| kVideoFrameTypeCuda | 3 | cuda 数据类型 |
| kVideoFrameTypeD3D11 | 4 | direct3d 11 数据格式 |
| kVideoFrameTypeD3D9 | 5 | direct3d 9 数据格式 |
| kVideoFrameTypeJavaFrame | 6 | Java的VideoFrame 数据格式 |
| kVideoFrameTypeVAAPI | 7 | vaapi 数据格式 |
public enum bytertc.ColorSpace
csharp视频 YUV 格式颜色空间
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kColorSpaceUnknown | 0 | |
| kColorSpaceYCbCrBT601LimitedRange | 1 | BT.601数字编码标准,颜色空间[16-235] |
| kColorSpaceYCbCrBT601FullRange | 2 | BT.601数字编码标准,颜色空间[0-255] |
| kColorSpaceYCbCrBT709LimitedRange | 3 | BT.7091数字编码标准,颜色空间[16-235] |
| kColorSpaceYCbCrBT709FullRange | 4 | BT.7091数字编码标准,颜色空间[0-255] |
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 生效) |
public enum bytertc.ScreenCaptureSourceType
csharp屏幕采集对象的类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kScreenCaptureSourceTypeUnknown | 0 | 类型未知 |
| kScreenCaptureSourceTypeWindow | 1 | 应用程序的窗口 |
| kScreenCaptureSourceTypeScreen | 2 | 桌面 |
public struct bytertc.ScreenCaptureSourceInfo
csharp屏幕采集对象的具体信息
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| type | 屏幕分享时,共享对象的类型,参看 ScreenCaptureSourceType |
| SourceID | 屏幕分享时,共享对象的 ID。 |
| SourceName | 屏幕分享时共享对象的名称。 内存在调用 Release 时释放,请及时转为 string 对象保存。 |
| length | 共享对象的字符串长度。 |
| application | 共享的应用窗口所属应用的名称。 当共享对象为应用窗口时有效。 调用 releaseRelease 时将被释放,请及时转为 string 对象保存。 |
| AppLength | 应用的字符串长度。 |
| pid | 共享的应用窗体所属应用进程的 pid。 当共享对象为应用窗体时有效。 |
| PrimaryMonitor | 共享的屏幕是否为主屏。 当共享对象为屏幕时有效。 |
| RegionRect | 屏幕共享对象的坐标。参看 Rectangle。 + 对于多屏幕的场景,不同平台的坐标系原点不同: - 对于 Windows 平台,屏幕坐标以主屏左上角为原点 (0, 0),向右向下扩展。 — 对于 Linux 平台,屏幕坐标以 + 对于不同平台,窗口区域不同: - 对于 Windows 和 macOS 平台,窗口区域包含系统标题栏。 - 对于 Linux 平台,窗口区域不包含系统标题栏。 |
public enum bytertc.ContentHint
csharp内部采集屏幕视频流的内容类型。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kContentHintDetails | 0 | 细节内容。当共享文档、图片时,建议使用该内容类型。 |
| kContentHintMotion | 1 | 动画内容。当共享视频、游戏时,建议使用该内容类型。 |
public struct bytertc.Rectangle
csharp矩形区域
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| X | 矩形区域左上角的 x 坐标 |
| Y | 矩形区域左上角的 x 坐标 |
| Width | 矩形宽度(px) |
| Height | 矩形高度(px) |
public enum bytertc.MouseCursorCaptureState
csharp内部采集屏幕视频流时,是否采集鼠标信息
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kMouseCursorCaptureStateOn | 0 | 采集鼠标信息 |
| kMouseCursorCaptureStateOff | 1 | 不采集鼠标信息 |
public struct bytertc.ScreenFilterConfig
csharp抓取屏幕时排除指定窗口,默认不排除任何窗体
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| ExcludedWindowList | 抓取屏幕时排除窗口列表。这个参数仅在抓取屏幕时生效。 |
| ExcludedWindowNum | 排除窗口的数量。 |
public struct bytertc.HighlightConfig
csharp屏幕共享时的边框高亮设置
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| EnableHighlight | 是否显示高亮边框,默认显示。 |
| BorderColor | 边框的颜色, 颜色格式为十六进制 ARGB: 0xAARRGGBB |
| BorderWidth | 边框的宽度,单位:像素 |
public struct bytertc.ScreenCaptureParameters
csharp屏幕共享内部采集参数
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| ContentHint | 内容类型,参看 ContentHint。 |
| RegionRect | 采集区域,参看 Rectangle。 |
| CaptureMouseCursor | 是否采集鼠标状态,参看 MouseCursorCaptureState。 |
| FilterConfig | 屏幕过滤设置,参看 ScreenFilterConfig。 |
| HighlightConfig | 采集区域的边框高亮设置,参看 HighlightConfig。 |
public enum bytertc.AudioSourceType
csharp音频输入源类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioSourceTypeExternal | 0 | 自定义采集音频源 |
| kAudioSourceTypeInternal | 1 | RTC SDK 内部采集音频源 |
public enum bytertc.AudioSampleRate
csharp音频采样率,单位为 Hz。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioSampleRateAuto | -1 | 默认设置。 |
| kAudioSampleRate8000 | 8000 | 8000 Hz |
| kAudioSampleRate16000 | 16000 | 16000 Hz |
| kAudioSampleRate32000 | 32000 | 32000 Hz |
| kAudioSampleRate44100 | 44100 | 44100 Hz |
| kAudioSampleRate48000 | 48000 | 48000 Hz |
public enum bytertc.AudioChannel
csharp音频声道。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioChannelAuto | -1 | 默认设置。 |
| kAudioChannelMono | 1 | 单声道 |
| kAudioChannelStereo | 2 | 双声道 |
public enum bytertc.AudioFrameType
csharp音频帧类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kFrameTypePCM16 | 0 | PCM 16bit |
public struct bytertc.AudioFrame
csharp音频帧
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| TimestampUs | 音频帧时间戳。单位:微秒。 |
| SampleRate | 音频采样率。参看 AudioSampleRate |
| Channel | 音频通道数。参看 AudioChannel |
| Data | 音频帧内存块地址 |
| DataSize | 音频帧数据大小,单位:字节。 |
| FrameType | 音频帧类型,目前只支持 PCM,详见 AudioFrameType |
| IsMutedData | 音频静音标志 |
public enum bytertc.EarMonitorMode
csharp是否开启耳返功能。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kEarMonitorModeOff | 0 | 关闭(默认设置) |
| kEarMonitorModeOn | 1 | 开启 |
public enum bytertc.VoiceReverbType
csharp混响特效类型。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kVoiceReverbTypeOriginal | 0 | 原声,不含特效 |
| kVoiceReverbTypeEcho | 1 | 回声 |
| kVoiceReverbTypeConcert | 2 | 演唱会 |
| kVoiceReverbTypeEthereal | 3 | 空灵 |
| kVoiceReverbTypeKTV | 4 | KTV |
| kVoiceReverbTypeStudio | 5 | 录音棚 |
| kVoiceReverbTypeVirtualStereo | 6 | 虚拟立体声 |
| kVoiceReverbTypeSpacious | 7 | 空旷 |
| kVoiceReverbType3D | 8 | 3D人声 |
public enum bytertc.ScreenMediaType
csharp屏幕采集媒体类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kScreenMediaTypeVideoOnly | 0 | 仅采集视频 |
| kScreenMediaTypeAudioOnly | 1 | 仅采集音频 |
| kScreenMediaTypeVideoAndAudio | 2 | 同时采集音频和视频 |
public enum bytertc.ProblemFeedbackOption
csharp音视频质量反馈问题类型
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kProblemFeedbackOptionNone | 0 | 没有问题 |
| 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) | 耳返延迟大 |
public enum bytertc.CameraID
csharp摄像头。
Defined in : IRTCVideo.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kCameraIDFront | 0 | 移动端前置摄像头,PC端内置摄像头 |
| kCameraIDBack | 1 | 移动端后置摄像头,PC端无定义 |
| kCameraIDExternal | 2 | 外接摄像头 |
| kCameraIDInvalid | 3 | 无效值 |
public struct bytertc.ProblemFeedbackRoomInfo
csharp音视频质量反馈的房间信息
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| room_id | 房间 ID。 |
| user_id | 本地用户 ID。 |
public struct bytertc.ProblemFeedbackInfo
csharp音视频质量反馈的信息
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| problem_desc | 预设问题以外的其他问题的具体描述。 |
| room_info | 音视频质量反馈的房间信息。查看 ProblemFeedbackRoomInfo。 |
| room_info_count | FeedbackRoomInfo 的数组长度。 |
public struct bytertc.AudioFrameCallback
csharp音频帧地址
Defined in : IRTCVideo.cs
| 类型 | 名称 |
|---|---|
| TimestampUs | 音频帧时间戳。单位:微秒。 |
| SampleRate | 音频采样率。参看 AudioSampleRate |
| Channel | 音频通道数。参看 AudioChannel |
| Data | 音频帧内存块地址 |
| DataSize | 音频帧数据大小,单位:字节。 |
| FrameType | 音频帧类型,目前只支持 PCM,详见 AudioFrameType |
| IsMutedData | 音频静音标志 |
public enum bytertc.JoinRoomType
csharp用户加入房间的类型。
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kJoinRoomTypeFirst | 0 | 首次加入房间。用户手动调用 JoinRoom 加入房间。 |
| kJoinRoomTypeReconnected | 1 | 重新加入房间。用户网络较差,失去与服务器的连接,进行重连时收到加入成功。 |
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) |
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 |
public struct bytertc.UserInfo
csharp用户信息
Defined in : IRTCVideoRoom.cs
| 类型 | 名称 |
|---|---|
| UserID | 用户 ID。该字符串符合正则表达式:[a-zA-Z0-9_@\-]{1,128}。 |
| ExtraInfo | 用户的额外信息,最大长度为 200 字节。会在 OnUserJoined 中回调给远端用户。 |
public enum bytertc.UserOfflineReason
csharp用户离开房间的原因。
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kUserOfflineReasonQuit | 0 | 远端用户调用 LeaveRoom 方法主动退出房间。 |
| kUserOfflineReasonDropped | 1 | 远端用户因网络等原因掉线。 |
| kUserOfflineReasonSwitchToInvisible | 2 | 远端用户切换至隐身状态。 |
public enum bytertc.StreamRemoveReason
csharp房间内远端流被移除的原因。
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kStreamRemoveReasonUnpublish | 0 | 远端用户停止发布流。 |
| kStreamRemoveReasonPublishFailed | 1 | 远端用户发布流失败。 |
| kStreamRemoveReasonKeepLiveFailed | 2 | 保活失败。 |
| kStreamRemoveReasonClientDisconnected | 3 | 远端用户断网。 |
| kStreamRemoveReasonRepublish | 4 | 远端用户重新发布流。 |
| kStreamRemoveReasonOther | 5 | 其他原因。 |
public enum bytertc.SubscribeState
csharp订阅媒体流状态
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kSubscribeStateSuccess | 0 | 订阅/取消订阅流成功 |
| kSubscribeStateFailedNotInRoom | 1 | 订阅/取消订阅流失败,本地用户未在房间中 |
| kSubscribeStateFailedStreamNotFound | 2 | 订阅/取消订阅流失败,房间内未找到指定的音视频流 |
| kSubscribeStateFailedOverLimit | 3 | 超过订阅流数上限 |
public enum bytertc.SEIStreamEventType
csharp黑帧视频流状态
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kSEIStreamEventTypeStreamAdd | 0 | 远端用户发布黑帧视频流。 纯语音通话场景下,远端用户调用 SendSEIMessage 发送 SEI 数据时,SDK 会自动发布一路黑帧视频流,并触发该回调。 |
| kSEIStreamEventTypeStreamRemove | 1 | 远端黑帧视频流移除。该回调的触发时机包括: + 远端用户开启摄像头采集,由语音通话切换至视频通话,黑帧视频流停止发布; + 远端用户调用 SendSEIMessage 后 1min 内未有 SEI 数据发送,黑帧视频流停止发布; + 远端用户调用 SetVideoSourceType 切换至自定义视频采集时,黑帧视频流停止发布。 |
public struct bytertc.RemoteStreamKey
csharp远端流信息
Defined in : IRTCVideoRoom.cs
| 类型 | 名称 |
|---|---|
| RoomID | 媒体流所在房间的房间 ID。 |
| UserID | 用户 ID |
| streamIndex | 流属性,主流或屏幕流。参看 StreamIndex |
public enum bytertc.RoomProfileType
csharp房间模式
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kRoomProfileTypeCommunication | 0 | 普通音视频通话模式。 单声道,采样率为 48kHz。 你应在 1V1 音视频通话时,使用此设置。 此设置下,弱网抗性较好。 |
| kRoomProfileTypeLiveBroadcasting | 1 | 直播模式。 单声道,采样率为 48kHz。 当你对音视频通话的音质和画质要求较高时,应使用此设置。 此设置下,当用户使用蓝牙耳机收听时,蓝牙耳机使用媒体模式。 |
| kRoomProfileTypeGame | 2 | 游戏语音模式。 单声道,采样率为 16kHz。 低端机在此模式下运行时,进行了额外的性能优化: + 部分低端机型配置编码帧长 40/60 + 部分低端机型关闭软件 3A 音频处理 增强对 iOS 其他屏幕录制进行的兼容性,避免音频录制被 RTC 打断。 |
| kRoomProfileTypeCloudGame | 3 | 云游戏模式。 单声道,采样率为 48kHz。 如果你需要低延迟、高码率的设置时,你可以使用此设置。 此设置下,弱网抗性较差。 |
| kRoomProfileTypeLowLatency | 4 | 低时延模式。SDK 会使用低延时设置。 当你的场景非游戏或云游戏场景,又需要极低延时的体验时,可以使用该模式。 该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。 在使用此模式前,强烈建议咨询技术支持同学。 |
public enum bytertc.LocalAudioStreamState
csharp本地音频流状态。
SDK 通过 OnLocalAudioStateChangedEventHandler 回调本地音频流状态
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kLocalAudioStreamStateStopped | 0 | 本地音频默认初始状态。 麦克风停止工作时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateRecording | 1 | 本地音频录制设备启动成功。 采集到音频首帧时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateEncoding | 2 | 本地音频首帧编码成功。 音频首帧编码成功时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateFailed | 3 | 本地音频启动失败,在以下时机回调该状态: + 本地录音设备启动失败,对应错误码 kLocalAudioStreamErrorRecordFailure + 检测到没有录音设备权限,对应错误码 kLocalAudioStreamErrorDeviceNoPermission + 音频编码失败,对应错误码 kLocalAudioStreamErrorEncodeFailure |
| kLocalAudioStreamMute | 4 | 本地音频静音成功后回调该状态。 调用 SetAudioCaptureDeviceMuteIAudioDeviceManager-setaudiocapturedevicemute 成功后回调,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。 |
| kLocalAudioStreamUnmute | 5 | 本地音频解除静音成功后回调该状态。 调用 SetAudioCaptureDeviceMuteIAudioDeviceManager-setaudiocapturedevicemute 成功后回调,对应错误码 LocalAudioStreamError 中的 kLocalAudioStreamErrorOk 。 |
public enum bytertc.RemoteAudioStreamState
csharp远端音频流状态。
SDK 通过 OnLocalAudioStateChangedEventHandler 回调本地音频流状态
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteAudioStateStopped | 0 | 不接收远端音频流。 以下情况下会触发回调 onRemoteAudioStateChanged: + 本地用户停止接收远端音频流,对应原因是:kRemoteAudioStateChangeReasonLocalMutedRemoteAudioStateChangeReason + 远端用户停止发送音频流,对应原因是:kRemoteAudioStateChangeReasonRemoteMutedRemoteAudioStateChangeReason + 远端用户离开房间,对应原因是:kRemoteAudioStateChangeReasonRemoteOfflineRemoteAudioStateChangeReason |
| kRemoteAudioStateStarting | 1 | 开始接收远端音频流首包。 刚收到远端音频流首包会触发回调 onRemoteAudioStateChanged,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted |
| kRemoteAudioStateDecoding | 2 | 远端音频流正在解码,正常播放。 以下情况下会触发回调 onRemoteAudioStateChanged: + 成功解码远端音频首帧,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted + 网络由阻塞恢复正常,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonNetworkRecovery + 本地用户恢复接收远端音频流,对应原因是:RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted + 远端用户恢复发送音频流,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonRemoteUnmuted |
| kRemoteAudioStateFrozen | 3 | 远端音频流卡顿。 网络阻塞、丢包率大于 40% 时,会触发回调 onRemoteAudioStateChanged,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonNetworkCongestion |
public enum bytertc.RemoteAudioState
csharp远端音频流状态。
用户可以通过 OnRemoteAudioStateChangedEventHandler 了解该状态。
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteAudioStateStopped | 0 | 不接收远端音频流。 以下情况下会触发回调 OnRemoteAudioStateChangedEventHandler: + 本地用户停止接收远端音频流,对应原因是:kRemoteAudioStateChangeReasonLocalMutedRemoteAudioStateChangeReason + 远端用户停止发送音频流,对应原因是:kRemoteAudioStateChangeReasonRemoteMutedRemoteAudioStateChangeReason + 远端用户离开房间,对应原因是:kRemoteAudioStateChangeReasonRemoteOfflineRemoteAudioStateChangeReason |
| kRemoteAudioStateStarting | 1 | 开始接收远端音频流首包。 刚收到远端音频流首包会触发回调 OnRemoteAudioStateChangedEventHandler,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted |
| kRemoteAudioStateDecoding | 2 | 远端音频流正在解码,正常播放。 以下情况下会触发回调 OnRemoteAudioStateChangedEventHandler: + 成功解码远端音频首帧,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted + 网络由阻塞恢复正常,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonNetworkRecovery + 本地用户恢复接收远端音频流,对应原因是:RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonLocalUnmuted + 远端用户恢复发送音频流,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonRemoteUnmuted |
| kRemoteAudioStateFrozen | 3 | 远端音频流卡顿。 网络阻塞、丢包率大于 40% 时,会触发回调 OnRemoteAudioStateChangedEventHandler,对应原因是: RemoteAudioStateChangeReason 中的 kRemoteAudioStateChangeReasonNetworkCongestion |
public enum bytertc.RemoteAudioStateChangeReason
csharp接收远端音频流状态改变的原因。
用户可以通过 OnRemoteAudioStateChangedEventHandler 了解该原因。
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteAudioStateChangeReasonInternal | 0 | 内部原因 |
| kRemoteAudioStateChangeReasonNetworkCongestion | 1 | 网络阻塞 |
| kRemoteAudioStateChangeReasonNetworkRecovery | 2 | 网络恢复正常 |
| kRemoteAudioStateChangeReasonLocalMuted | 3 | 本地用户停止接收远端音频流 |
| kRemoteAudioStateChangeReasonLocalUnmuted | 4 | 本地用户恢复接收远端音频流 |
| kRemoteAudioStateChangeReasonRemoteMuted | 5 | 远端用户停止发送音频流 |
| kRemoteAudioStateChangeReasonRemoteUnmuted | 6 | 远端用户恢复发送音频流 |
| kRemoteAudioStateChangeReasonRemoteOffline | 7 | 远端用户离开房间 |
public enum bytertc.FirstFrameSendState
csharp首帧发送状态
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kFirstFrameSendStateSending | 0 | 发送中 |
| kFirstFrameSendStateSent | 1 | 发送成功 |
| kFirstFrameSendStateEnd | 2 | 发送失败 |
public enum bytertc.FirstFramePlayState
csharp首帧播放状态
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kFirstFramePlayStatePlaying | 0 | 播放中 |
| kFirstFramePlayStatePlayed | 1 | 播放成功 |
| kFirstFramePlayStateEnd | 2 | 播放失败 |
public struct bytertc.VideoFrameInfo
csharp视频帧信息
Defined in : IRTCVideoRoom.cs
| 类型 | 名称 |
|---|---|
| width | 宽(像素) |
| height | 高(像素) |
| rotation | 视频帧顺时针旋转角度。参看 VideoRotation。 |
public enum bytertc.VideoRotation
csharp视频帧旋转角度
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kVideoRotation0 | 0 | 顺时针旋转 0 度 |
| kVideoRotation90 | 90 | 顺时针旋转 90 度 |
| kVideoRotation180 | 180 | 顺时针旋转 180 度 |
| kVideoRotation270 | 270 | 顺时针旋转 270 度 |
public enum bytertc.LocalVideoStreamState
csharp本地视频流状态
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kLocalVideoStreamStateStopped | 0 | 本地视频采集停止状态 |
| kLocalVideoStreamStateRecording | 1 | 本地视频采集设备启动成功 |
| kLocalVideoStreamStateEncoding | 2 | 本地视频采集后,首帧编码成功 |
| kLocalVideoStreamStateFailed | 3 | 本地视频采集设备启动失败 |
public class bytertc.MultiRoomConfig
csharp多房间参数配置
Defined in : IRTCVideoRoom.cs
| 返回 | 名称 |
|---|---|
| **** | MultiRoomConfig |
public bytertc.MultiRoomConfig.MultiRoomConfig(
RoomProfileType roomProfile)
csharppublic struct bytertc.RemoteVideoConfig
csharp远端视频帧信息
Defined in : IRTCVideoRoom.cs
| 类型 | 名称 |
|---|---|
| framerate | 期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。 当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。 仅码流支持 SVC 分级编码特性时方可生效。 |
| resolutionWidth | 视频宽度,单位:px |
| resolutionHeight | 视频高度,单位:px |
public enum bytertc.MediaStreamType
csharp媒体流类型
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kMediaStreamTypeAudio | 0 | 只控制音频 |
| kMediaStreamTypeVideo | 1 | 只控制视频 |
| kMediaStreamTypeBoth | 2 | 同时控制音频和视频 |
public enum bytertc.StreamIndex
csharp流属性
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kStreamIndexMain | 0 | 主流。包括: + 由摄像头/麦克风通过内部采集机制,采集到的视频/音频; + 通过自定义采集,采集到的视频/音频。 |
| kStreamIndexScreen | 1 | 屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。 |
public struct bytertc.RtcUser
csharp用户信息
Defined in : IRTCVideoRoom.cs
| 类型 | 名称 |
|---|---|
| UserID | 用户 ID |
| MetaData | 元数据 |
public enum bytertc.RemoteVideoState
csharp远端视频流状态。状态改变时,会收到 OnRemoteVideoStateChangedEventHandler 回调
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteVideoStateStopped | 0 | 远端视频流默认初始状态,视频尚未开始播放。 |
| kRemoteVideoStateStarting | 1 | 本地用户已接收远端视频流首包。 |
| kRemoteVideoStateDecoding | 2 | 远端视频流正在解码,正常播放。 |
| kRemoteVideoStateFrozen | 3 | 远端视频流卡顿,可能有网络等原因。 |
| kRemoteVideoStateFailed | 4 | 远端视频流播放失败。 |
public enum bytertc.RemoteVideoStateChangeReason
csharp远端视频流状态改变的原因
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteVideoStateChangeReasonInternal | 0 | 内部原因 |
| kRemoteVideoStateChangeReasonNetworkCongestion | 1 | 网络阻塞 |
| kRemoteVideoStateChangeReasonNetworkRecovery | 2 | 网络恢复正常 |
| kRemoteVideoStateChangeReasonLocalMuted | 3 | 本地用户停止接收远端视频流或本地用户禁用视频模块 |
| kRemoteVideoStateChangeReasonLocalUnmuted | 4 | 本地用户恢复接收远端视频流或本地用户启用视频模块 |
| kRemoteVideoStateChangeReasonRemoteMuted | 5 | 远端用户停止发送视频流或远端用户禁用视频模块 |
| kRemoteVideoStateChangeReasonRemoteUnmuted | 6 | 远端用户恢复发送视频流或远端用户启用视频模块 |
| kRemoteVideoStateChangeReasonRemoteOffline | 7 | 远端用户离开频道。状态转换参考 OnUserUnPublishStream。 |
public enum bytertc.PauseResumeControlMediaType
csharp暂停/恢复接收远端的媒体流类型。
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kRTCPauseResumeControlMediaTypeAudio | 0 | 只控制音频,不影响视频 |
| kRTCPauseResumeControlMediaTypeVideo | 1 | 只控制视频,不影响音频 |
| kRTCPauseResumeControlMediaTypeVideoAndAudio | 2 | 同时控制音频和视频 |
public struct bytertc.Position
csharp范围语音中用户的位置,坐标系需要自行建立。
Defined in : IRTCVideoRoom.cs
| 类型 | 名称 |
|---|---|
| x | x 坐标 |
| y | y 坐标 |
| z | z 坐标 |
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。 |
public enum bytertc.NetworkQuality
csharp媒体流网络质量。
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kNetworkQualityUnknown | 0 | 网络质量未知。 |
| kNetworkQualityExcellent | 1 | 网络质量极好。 |
| kNetworkQualityGood | 2 | 主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。 |
| kNetworkQualityPoor | 3 | 主观感受有瑕疵但不影响沟通。 |
| kNetworkQualityBad | 4 | 勉强能沟通但不顺畅。 |
| kNetworkQualityVbad | 5 | 网络质量非常差,基本不能沟通。 |
public struct bytertc.LocalStreamStats
csharp本地音/视频流统计信息,统计周期为 2s 。
本地用户发布音/视频流成功后,SDK 会周期性地通过 onLocalStreamStats 通知本地用户发布的音/视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。
Defined in : IRTCVideoRoom.cs
| 类型 | 名称 |
|---|---|
| audio_stats | 本地设备发送音频流的统计信息,详见 LocalAudioStats 。 |
| video_stats | 本地设备发送视频流的统计信息,详见 LocalVideoStats 。 |
| is_screen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
| [deprecated] local_tx_quality | 本地媒体上行网络质量,详见 NetworkQuality 。 |
| [deprecated] local_rx_quality | 本地媒体下行网络质量,详见 NetworkQuality 。 |
public struct bytertc.LocalAudioStats
csharp本地音频流统计信息,统计周期为 2s 。
本地用户发布音频流成功后,SDK 会周期性地通过 onLocalStreamStats 通知用户发布的音频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。
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 。 |
public struct bytertc.LocalVideoStats
csharp本地视频流统计信息,统计周期为 2s 。
本地用户发布视频流成功后,SDK 会周期性地通过 onLocalStreamStats
通知用户发布的视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。
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 。 |
public enum bytertc.VideoCodecType
csharp视频的编码类型
Defined in : IRTCVideoRoom.cs
| 类型 | 值 | 说明 |
|---|---|---|
| kVideoCodecTypeUnknown | 0 | 未知类型 |
| kVideoCodecTypeH264 | 1 | 标准 H264 编码格式 |
| kVideoCodecTypeByteVC1 | 2 | ByteVC1 编码格式 |
public struct bytertc.RemoteStreamStats
csharp用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s 。
订阅远端用户发布音/视频流成功后,SDK 会周期性地通过 onRemoteStreamStats 通知本地用户订阅的远端音/视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
Defined in : IRTCVideoRoom.cs
| 类型 | 名称 |
|---|---|
| uid | 用户 ID 。音/视频来源的远端用户 ID 。 |
| audio_stats | 远端音频流的统计信息,详见 RemoteAudioStats |
| video_stats | 远端视频流的统计信息,详见 RemoteVideoStats |
| is_screen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
| [deprecated] remote_tx_quality | 所属用户的媒体流上行网络质量,详见 NetworkQuality 。 |
| [deprecated] remote_rx_quality | 所属用户的媒体流下行网络质量,详见 NetworkQuality 。 |
public struct bytertc.RemoteAudioStats
csharp远端音频流统计信息,统计周期为 2s。
本地用户订阅远端音频流成功后,SDK 会周期性地通过 onRemoteStreamStats 通知本地用户订阅的音频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
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 。 |
| rtt | |
| 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 。 |
public struct bytertc.RemoteVideoStats
csharp远端视频流统计信息,统计周期为 2s 。
本地用户订阅远端视频流成功后,SDK 会周期性地通过 onRemoteStreamStats
通知本地用户订阅的远端视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
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。 |
public struct bytertc.Orientation
csharp坐标
Defined in : ISpatialAudio.cs
| 类型 | 名称 |
|---|---|
| x | x 方向向量 |
| y | y 方向向量 |
| z | z 方向向量 |
public struct bytertc.HumanOrientation
csharp三维朝向信息,三个向量需要两两垂直。参看 Orientation。
Defined in : ISpatialAudio.cs
| 类型 | 名称 |
|---|---|
| **** | 正前方朝向,默认值为 {1,0,0},即正前方朝向 x 轴正方向 |
| **** | 正右方朝向,默认值为 {0,1,0},即右手朝向 y 轴正方向 |
| **** | 正上方朝向,默认值为 {0,0,1},即头顶朝向 z 轴正方向 |