| 方法 | 描述 |
|---|---|
| CreateRtcEngine | 创建 RTCEngine 实例。 创建 RTCEngine 实例后,你才可以使用 SDK 提供的其他能力。 |
| DestroyRtcEngine | 销毁由 CreateRtcEngine 创建的 RTCEngine 实例,并释放所有相关资源。 |
| GetSDKVersion | 获取当前 SDK 版本信息。 |
| Feedback | 本次通话质量打分评价 |
| GetCount | 获取当前系统内音视频设备数量 |
| GetDevice | 根据索引号,获取设备信息 |
| Release | 释放当前 IDeviceCollection 对象占用的资源。 |
| SetBusinessId | 设置业务标识参数。 可通过 business_id 区分不同的业务场景(角色/策略等)。business_id 由客户自定义,相当于一个“标签”, 可以分担和细化现在 AppId 的逻辑划分的功能。 |
| SetRuntimeParameters | 设置运行时的参数 |
| 方法 | 描述 |
|---|---|
| JoinRoom | 加入房间。用户调用此方法加入房间,同一房间内的用户间可以相互通话。 进房后重复调用无效,用户必须调用 LeaveRoom 退出当前房间后,才能加入下一个房间。 本地用户调用此方法加入房间成功后,会收到 OnJoinRoomResult 回调通知,远端用户会收到 OnUserJoined 回调通知。 |
| EnableAutoPublish | 设置引擎自动发布属性 |
| SetUserRole | 设置用户角色。默认角色为主播。 通过设置不同的用户角色,可以控制用户在房间内的行为: + 能否发布音视频流; + 用户自身是否在房间中隐身。 |
| LeaveRoom | 离开房间。 用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。 调用 JoinRoom 加入房间后,必须调用此方法结束通话,否则无法开始下一次通话。无论当前是否在房间内,都可以调用此方法。重复调用此方法没有负面影响。 此方法是异步操作,调用返回时并没有真正退出房间。真正退出房间后,本地会收到 OnLeaveRoom 回调通知。 |
| UpdateToken | 更新 Token。 Token 有一定的有效期,当 Token 过期时,用户需调用此方法更新房间的 Token 信息。 用户调用 JoinRoom 方法加入房间时,如果使用了过期的 Token 将导致加入房间失败,并会收到 OnJoinRoomResult 回调通知,错误码为 ErrorCode.kErrorCodeInvalidTokenErrorCode。此时需要重新获取 Token,并调用此方法更新 Token。 |
| SubscribeStream | 订阅指定的房间内远端音视频流。 关闭自动订阅功能,使用手动订阅模式时用户调用此方法按需订阅房间中的音视频流。 此方法仅在关闭自动订阅功能时生效。用户需在加入房间前调用 EnableAutoSubscribe 方法关闭自动订阅功能以使用手动订阅模式。 用户在自动订阅功能开启时调用此方法,SDK 不会订阅音视频流,并通过 OnRoomWarning 回调通知用户订阅失败,回调警告码为 kWarningCodeSubscribeStreamForbiden 。 订阅流失败时,SDK 会按失败原因回调 OnRoomError 通知用户,具体错误可参考错误码 ErrorCode 描述。 |
| Unsubscribe | 停止订阅指定的房间内远端音视频流。 关闭自动订阅功能,使用手动订阅模式时用户调用此方法停止订阅已订阅的音视频流。 此方法仅在关闭自动订阅功能时生效。用户需在加入房间前调用 EnableAutoSubscribe 方法关闭自动订阅功能以使用手动订阅模式。 |
| EnableAutoSubscribe | 设置订阅模式。 用户调用此方法设置房间中音视频流的订阅模式。默认为自动订阅。 如需开启手动订阅功能,建议在调用 JoinRoom 方法加入房间前完成设置。 |
| 方法 | 描述 |
|---|---|
| SetRecordingVolume | 调节音频采集音量 |
| SetPlaybackVolume | 调节本地播放的所有远端用户混音后的音量 |
| StartMixScreenAudioToMainStream | 开启声卡采集,将声卡播放的音频流合到本地采集的音频流中。 如果你希望将声卡播放的声音传输到远端(比如屏幕共享等场景),你必须开启声卡采集。如此,声卡播放的声音会合到本地采集的音频流在中,一起发送到远端。 |
| StopMixScreenAudioToMainStream | 关闭声卡采集,声卡播放的音频流不再合到本地采集的音频流中。 |
| SetScreenAudioVolumeBeforeMixing | 调节本地声卡采集音量。 开启本地声卡采集后,你可以使用此接口调节采集音量。 关于如何开启本地声卡采集,参考 StartMixScreenAudioToMainStream。 |
| StartAudioCapture | 开启内部音频采集。默认为关闭状态。 进房前调用该方法,本地用户会收到 OnMediaDeviceStateChanged 的回调。 进房后调用该方法,房间中的其他用户会收到 OnUserStartAudioCapture 的回调。 |
| StopAudioCapture | 关闭内部音频采集。默认为关闭状态。 进房前调用该方法,本地用户会收到 OnMediaDeviceStateChanged 的回调。 进房后调用该方法后,房间中的其他用户会收到 OnUserStopAudioCapture 的回调。 |
| MuteLocalAudio | 控制本地音频流的发送状态:发送/不发送 使用此方法后,房间中的其他用户会收到回调: OnUserMuteAudio |
| SetAudioPerformanceProfile | 通过设置音频处理策略等级,获得不同的音频处理质量。默认使用 auto 模式。 此设置会影响音频采集端在音频采集后,发送前对音频的处理策略,达成不同的处理效果; 也会影响音频接收端在音频流接收后,播放前对音频的处理策略,达成不同的处理效果。 你应使用此方法,实现音频体验和系统性能占用之间的平衡: 如果你希望系统性能占用较低,你应设置较低的策略等级;如果你更在意音频质量,你应选择设置更高的策略等级。 一般情况下,你可使用 auto 模式(默认)。此时,sdk 会根据应用所在机型等级,自动适配音频处理策略。 |
| GetAudioDeviceManager | 设备音频管理接口创建 |
| SetAudioVolumeIndicationInterval | 开启/关闭音量提示。默认关闭。 开启音量提示后,将按设置的时间间隔收到本地采集音量或订阅的远端用户的音量信息回调。 关于回调的具体信息,参看 OnAudioVolumeIndication |
| SetRemoteAudioPlaybackVolume | 调节来自远端用户的音频播放音量 |
| MuteAllRemoteAudio | 设置对来自远端的所有音频流的接收状态。默认为接收。 |
| MuteRemoteAudio | 设置对来自远端指定用户的音频流的接收状态。默认为接收。 |
| 方法 | 描述 |
|---|---|
| SetHardWareEncodeContext | 用于给编码器设置opengl context |
| BuildVideoFrame | 创建 IVideoFrame |
| PushExternalVideoFrame | 发送外部源视频数据 |
| StartVideoCapture | 开启内部视频采集。默认为关闭状态。 进房前调用该方法,本地用户会收到 OnMediaDeviceStateChanged 的回调。 进房后调用该方法后,房间中的其他用户会收到 OnUserStartVideoCapture 的回调。 |
| StopVideoCapture | 关闭内部视频采集。默认为关闭状态。 进房前调用该方法,本地用户会收到 OnMediaDeviceStateChanged 的回调。 进房后调用该方法后,房间中的其他用户会收到 OnUserStopVideoCapture 的回调。 |
| SetVideoEncoderConfig | 启动推送多路视频流,设置推送多路流时的各路视频参数, 包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。 |
| SetLocalVideoCanvas | 设置本地视频渲染时,使用的视图,并设置渲染模式。 你应在加入房间前,绑定本地视图。退出房间后,此设置仍然有效。 如果需要解除绑定,你可以调用本方法绑定空视图。 |
| MuteLocalVideo | 停止/启动发送本地视频流,默认不发送。 无论你使用 SDK 的视频采集编码功能,还是使用自定义采集功能,你都应使用此接口启动发送本地视频流。 调用该方法后,房间中的其他用户会收到 OnUserMuteVideo 的回调。 |
| SwitchCamera | 切换移动端前置/后置摄像头 |
| PushScreenFrame | 发送屏幕共享本地视频数据 |
| SetExternalVideoSource | 设置是否启用自定义视频采集 |
| PushExternalVideoFrame | 发送外部源视频数据 |
| ReplaceBackground | 开启背景并设置背景模式与分割模式 |
| SetLocalVideoMirrorMode | 设置采用前置摄像头采集时,是否开启镜像模式。 调用后,你会收到回调:OnMirrorStateChanged |
| GetLocalVideoMirrorMode | 获得当前本地镜像状态 |
| SetRemoteVideoCanvas | 设置来自指定远端用户 user_id 的视频渲染时,使用的视图,并设置渲染模式。 你应在加入房间前,绑定视图。退出房间后,此设置失效。 如果需要解除某个用户的绑定视图,你可以把 view 设置为空。 |
| RemoveAllRemoteVideo | 去除所有远端视频。 |
| RemoveAllRemoteScreen | 去除屏幕共享所有远端视图。 |
| SetDefaultMuteAllRemoteVideoStreams | 设置是否默认接收视频流. |
| MuteAllRemoteVideo | 设置是否播放所有远端视频流 |
| MuteRemoteVideo | 设置是否播放远端视频流 |
| 方法 | 描述 |
|---|---|
| StartScreenCaptureByWindowId | 该方法共享一个窗口或该窗口的部分区域。用户需要在该方法中指定想要共享的窗口 id 。 |
| StartScreenCaptureByScreenRect | 通过指定区域共享屏幕,共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕区域。 |
| StartScreenCaptureByDisplayId | 通过屏幕 id 共享屏幕,共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕 id 。 |
| UpdateScreenCaptureRegion | 更新屏幕共享区域。 |
| UpdateScreenCaptureParameters | 更新屏幕共享的编码参数配置。 |
| StopScreenCapture | 停止屏幕或者窗口共享。 |
| GetScreenCaptureSourceList | 获取共享对象(应用窗口和桌面)列表, 使用完之后需要调用对应的release接口释放 |
| GetThumbnail | 获取共享对象缩略图 |
| PublishScreen | 发布本地屏幕共享流到房间。 |
| UnpublishScreen | 停止发布本地屏幕共享流到房间。 |
| 方法 | 描述 |
|---|---|
| SendUserMessage | 给房间内指定的用户发送文本消息(P2P),返回这次发送消息的编号。 |
| SendUserBinaryMessage | 给房间内指定的用户发送二进制消息(P2P),返回这次发送消息的编号。 |
| 方法 | 描述 |
|---|---|
| GetErrorDescription | 获取错误码的描述 |
| 方法 | 描述 |
|---|---|
| ~IVideoStream | 析构函数 |
| codec_type | 获取视频编码类型 |
| set_codec_type | 设置视频编码类型 |
| timestamp_us | 获取视频采集时间戳 |
| set_timestamp_us | 设置视频帧采集时间戳 |
| timestamp_pts | 获取视频显示时间戳 |
| set_timestamp_pts | 设置视频显示时间戳 |
| timestamp_dts | 获取视频解码时间戳 |
| set_timestamp_dts | 设置视频解码时间戳 |
| timebase_num | 获取时间基分子 |
| set_timestamp_num | 设置时间基分子 |
| timebase_den | 获取时间基分母 |
| set_timestamp_den | 设置时间基分母 |
| width | 获取视频分辨率的宽度 |
| set_width | 设置视频分辨率的宽 |
| height | 获取视频高度 |
| set_height | 设置视频高度 |
| picture_type | 获取视频编码格式 |
| set_picture_type | 设置视频编码格式 |
| rotation | 获取视频帧旋转角度 |
| set_rotation | 设置视频帧旋转角度 |
| set_stream_memory | 设置视频帧内存管理方式 |
| data | 获取视频数据指针地址 |
| data_size | 获取视频数据大小 |
| build_video_frame | 根据视频帧参数创建视频帧并返回指针 |
| frame_type | 获取视频帧类型 |
| pixel_format | 获取视频帧格式 |
| timestamp_us | 获取视频帧时间戳,单位:微秒 |
| width | 获取视频帧宽度 |
| height | 获取视频帧高度 |
| rotation | 获取视频帧旋转角度 |
| color_space | 获取视频帧颜色空间 |
| number_of_planes | 视频帧颜色 plane 数量 |
| get_plane_data | 获取 plane 数据指针 |
| get_plane_line_size | 获取 plane 中数据行的长度 |
| get_extra_data_info | 获取扩展数据指针 |
| get_supplementary_info | 获取补充数据指针 |
| get_hwaccel_buffer | 获取本地缓冲区指针 |
| shallow_copy | 浅拷贝视频帧并返回指针 |
| release | 释放视频帧 |
| to_i420 | 视频帧数据转为 YUV I420 格式 |
| 方法 | 描述 |
|---|---|
| OnEncryptData | 自定义加密。 使用设定的自定义加密方式,对传输前的音视频帧数据进行加密。 |
| OnDecryptData | 自定义解密。 对自定义加密后的音视频帧数据进行解密。关于自定义加密,参看 OnEncryptData。 |
| SetEncryptInfo | 设置传输时使用内置加密的方式 |
| SetCustomizeEncryptHandler | 设置自定义加密 需要实现对应的加密/解密方法,详情参考 EncryptType 。 |
| 方法 | 描述 |
|---|---|
| EnumerateVideoCaptureDevices | 获取当前系统内视频采集设备列表。 |
| SetVideoCaptureDevice | 设置当前视频采集设备 |
| GetVideoCaptureDevice | 获取当前 SDK 正在使用的视频采集设备信息 |
| GetVideoDeviceManager | 创建视频设备管理实例 |
| 方法 | 描述 |
|---|---|
| EnableExternalAudioDevice | 启用自定义音频采集渲染 |
| DisableExternalAudioDevice | 禁用已开启的自定义音频采集渲染,将音频采集渲染由自定义模块切换至内部模块。 |
| SetAudioDeviceObserver | 启动音频外部源采集渲染时,添加音频外部设备事件监控 |
| PushExternalAudioFrame | 推送外部音频数据。使用 EnableExternalAudioDevice 启用自定义音频采集渲染后,可以使用本方法推送外部音频数据。 |
| PullExternalAudioFrame | 拉取远端音频数据。使用 EnableExternalAudioDevice 启用自定义音频采集渲染后,可以使用本方法拉取远端音频数据。 |
| 方法 | 描述 |
|---|---|
| StartAudioMixing | 开始播放音乐文件及混音。 |
| StopAudioMixing | 停止播放音乐文件及混音 |
| PauseAudioMixing | 暂停播放音乐文件 |
| ResumeAudioMixing | 恢复播放音乐文件 |
| AdjustAudioMixingVolume | 调节音乐文件的文件音量。为保证更好的音质,建议将 volume 值设为 [0,100]。 |
| AdjustAudioMixingPlayoutVolume | 调节音乐文件的本地播放音量。为保证更好的音质,建议将 volume 值设为 [0,100]。 |
| AdjustAudioMixingPublishVolume | 调节音乐文件的远端播放音量。为保证更好的音质,建议将 volume 值设为 [0,100]。 |
| GetAudioMixingDuration | 获取音乐文件时长 |
| GetAudioMixingCurrentPosition | 获取音乐文件播放进度 |
| SetAudioMixingPosition | 设置音频文件的播放位置 |
| GetEffectVolume | 获取指定音效文件的文件音量 |
| SetVolumeOfEffect | 调节指定音效文件的文件音量 |
| PlayEffect | 开始播放指定音效文件。你可以在该方法中设置音效文件的播放次数、音量大小,以及远端用户是否能听到该音效。 |
| PreloadEffect | 预加载指定音效文件。 |
| UnloadEffect | 卸载指定音效文件 |
| StopEffect | 停止播放指定音效文件 |
| PauseEffect | 暂停播放指定音效文件 |
| ResumeEffect | 恢复播放指定音效文件 |
| SetEffectsVolume | 调节所有音效文件的文件音量 |
| StopAllEffects | 停止所有音效文件的播放 |
| PauseAllEffects | 暂停所有音效文件的播放。 |
| ResumeAllEffects | 恢复所有音效文件的播放 |
| UnloadAllEffects | 卸载所有音效文件 |
| SetAudioPlayoutMixStream | 启动/停止外部音频流混音, 并设置混音数据格式 |
| GetAudioMixingStreamCachedFrameNum | 获取SDK当前缓冲数据 |
| PushAudioMixingStreamData | 向SDK推送混音的音频数据 |
| 方法 | 描述 |
|---|---|
| SetLocalVideoRender | 设置本地视频渲染器 该方法设置本地视频外部渲染器。应用程序通过调用此接口绑定本地视频流的渲染器canvas。 在应用程序开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。退出频道后,绑定仍然有效, 如果需要解除绑定,可以指定空的VideoSink。 |
| SetLocalScreenRender | 设置屏幕共享本地渲染器 该方法设置屏幕共享本地外部渲染器。应用通过调用此接口绑定本地屏幕共享流的渲染器 IVideoSink 。 在应用开发中,通常在初始化后调用该方法进行本地屏幕共享设置,然后再加入房间。退出房间后,绑定仍然有效, 如果需要解除绑定,可以指定空的 VideoSinkIVideoSink。 |
| SetRemoteVideoRender | 设置远端视频外部渲染器 |
| SetRemoteScreenRender | 设置屏幕共享远端外部渲染器 |
| 方法 | 描述 |
|---|---|
| SetPublishFallbackOption | 设置发布的音视频流回退选项 你可以调用这个接口来设置网络情况不佳或设备性能不足时只发送小流,以保证通话质量。 |
| SetSubscribeFallbackOption | 设置订阅的音视频流回退选项 你可以通过调用该接口来设置网络情况不佳或性能不足时只订阅小流或音频流,以保证通话质量。 |
| SetRemoteUserPriority | 设置用户优先级 |
| 方法 | 描述 |
|---|---|
| DisableBackground | 关闭背景 |
| CheckSupport | 检查当前版本是否支持视频特效 |
| CheckLicense | 视频特效许可证检查 |
| EnableEffect | 开启关闭视频特效 |
| SetAlgoModelPath | 设置视频特效算法模型路径 |
| SetEffectNodes | 设置特效包,支持同时设置多个特效包 |
| AddEffectNodes | 增加特效包,支持同时增加多个特效包 |
| RemoveEffectNodes | 移除特效包,支持同时移除多个特效包 |
| UpdateNode | 设置特效强度 |
| SetColorFilter | 设置颜色滤镜 |
| SetColorFilterIntensity | 设置颜色滤镜强度 |
| 方法 | 描述 |
|---|---|
| SetRecordingAudioFrameParameters | 设置本地麦克风录制的音频数据回调参数 |
| SetPlaybackAudioFrameParameters | 设置远端所有用户音频数据混音后的音频数据回调参数 |
| SetMixedAudioFrameParameters | 设置本地麦克风录制音频数据和远端所有用户音频数据混音后的音频数据回调参数 |
| RegisterAudioFrameObserver | 注册音频数据回调观察者 |
| 方法 | 描述 |
|---|---|
| RegisterVideoFrameObserver | 注册视频数据回调观察者 |
| RegisterMetadataObserver | 注册 metadata 观察者,用于接收或发送 metadata,底层通过在视频帧中添加 SEI 数据实现该功能。 注册观察者后,发送的视频帧里面没有 SEI 信息, 会触发 OnReadyToSendMetadata 回调。 注册观察者后,接收的视频帧里面有 SEI 信息,会触发接收 OnMetadataReceived 回调。 |
| 方法 | 描述 |
|---|---|
| SendRoomMessage | 给房间内的所有其他用户发送广播消息。 |
| SendRoomBinaryMessage | 给房间内的所有其他用户发送广播消息。 |
| 回调 | 描述 |
|---|---|
| OnStart | 启动渲染器。 |
| OnStop | 停止渲染器。 |
| Release | 释放渲染器。 |
| 回调 | 描述 |
|---|---|
| OnFrame | 视频帧回调 |
| OnMirrorStateChanged | 当本地视频镜像状态改变时回调该事件。默认回调该事件。 |
| OnLocalScreenFrame | 本地屏幕共享流数据回调 |
| OnLocalVideoFrame | 本地视频流数据回调 |
| OnRemoteScreenFrame | 远端屏幕共享流数据回调 |
| OnRemoteVideoFrame | 远端视频数据回调 |
| OnMuteAllRemoteVideo | 房间内用户暂停/恢复接收所有视频流时,房间内其他用户收到此回调。参看 MuteAllRemoteVideo。 |
| OnFirstLocalVideoFrameCaptured | 第一帧本地采集的视频/屏幕共享画面在本地视图渲染完成时,收到此回调。 |
| OnLocalVideoSizeChanged | 本地视频大小或旋转配置发生改变时,收到此回调。 |
| OnRemoteVideoSizeChanged | 远端视频大小或旋转配置发生改变时,房间内订阅此视频流的用户会收到此回调。 |
| OnFirstRemoteVideoFrameRendered | 第一帧远端视频流在视图上渲染成功后,收到此回调。 |
| OnUserMuteVideo | 房间内用户暂停/恢复发送视频流时,房间内其他用户会收到此回调。参看 MuteLocalVideo。 |
| OnUserEnableLocalVideo | 远端用户开启/关闭本地视频采集时回调该事件,当远端用户调用 EnableLocalVideo 时,其他用户会触发此回调。 |
| OnLocalVideoStateChanged | 本地视频流的状态发生改变时,收到该事件。 |
| OnRemoteVideoStateChanged | 远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。 |
| 回调 | 描述 |
|---|---|
| OnWarning | 当内部发生警告事件时触发该回调 |
| 回调 | 描述 |
|---|---|
| OnError | 当 SDK 内部发生不可逆转错误时触发该回调。 |
| 回调 | 描述 |
|---|---|
| OnAudioMixingFinished | 本地音乐文件播放已结束回调。 当调用 StartAudioMixing 启动的混音文件播放结束后,会触发该回调。 |
| OnAudioMixingStateChanged | 音频混音文件播放状态改变时回调。此回调会被触发的时机汇总如下: + 当调用 StartAudioMixing 方法成功后, 会触发该 state 值为 kAudioMixingStatePlaying 回调; 否则触发 state 值为 kAudioMixingStateFailed 的回调。 + 当调用 ResumeAudioMixing 方法恢复播放成功后, 会触发该 state 值为 kAudioMixingStatePlaying 回调; 否则触发 state 值为 kAudioMixingStateFailed 的回调。 + 当调用 PauseAudioMixing 方法暂停播放后, 会触发该 state 值为 kAudioMixingStatePlaying 回调; 否则触发 state 值为 kAudioMixingStateFailed 的回调。 + 当调用 StopAudioMixing 方法暂停止播放后, 会触发该 state 值为 kAudioMixingStatePlaying 回调; 否则触发 state 值为 kAudioMixingStateFailed 的回调。 |
| OnAudioEffectFinished | 本地音效文件播放已结束回调。 当调用 PlayEffect 方法开始播放指定音效文件, 音效文件播放结束后, 应用会收到该回调。 |
| 回调 | 描述 |
|---|---|
| OnLogReport | 端监控日志回调。当产生一个端监控事件时触发该回调。 |
| OnConnectionStateChanged | SDK 与信令服务器连接状态改变回调。连接状态改变时触发。 |
| OnNetworkTypeChanged | SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。 |
| OnMediaDeviceStateChanged | 媒体设备状态回调。提示音频采集、音频渲染、视频采集三种媒体设备的状态。 |
| OnSysStats | 周期性地发出回调,报告当前cpu与memory使用率 |
| 回调 | 描述 |
|---|---|
| OnPerformanceAlarms | 本地未开启发布性能回退,检测到设备性能不足时,收到此回调。 本地开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。 |
| OnSimulcastSubscribeFallback | 因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。 |
| 回调 | 描述 |
|---|---|
| OnHttpProxyState | HTTP 代理连接状态改变时,收到该回调。 |
| OnHttpsProxyState | HTTPS 代理连接状态改变时,收到该回调。 |
| OnSocks5ProxyState | Socks5 代理状态改变时,收到该回调。 |
| 回调 | 描述 |
|---|---|
| OnReadyToSendMetadata | 当 SDK 准备发送一个视频帧时,会回调该事件,以确定是否需要在该视频帧中添加 metadata。 |
| OnMetadataReceived | 当 SDK 收到一个视频帧时,并且其中包含 medatada 时,会回调该事件。 |
| 回调 | 描述 |
|---|---|
| OnAudioDeviceRecordStart | 通知上层应用开启音频采集设备 |
| OnAudioDeviceRecordStop | 通知上层应用关闭音频采集设备 |
| OnAudioDevicePlayoutStart | 通知上层应用开启音频播放设备 |
| OnAudioDevicePlayoutStop | 通知上层应用关闭音频播放设备 |
| 回调 | 描述 |
|---|---|
| OnRecordAudioFrame | 返回麦克风录制的音频数据 |
| OnPlaybackAudioFrame | 返回远端所有用户混音后的音频数据 |
| OnMixedAudioFrame | 返回本地麦克风录制和远端所有用户混音后的音频数据 |
| 回调 | 描述 |
|---|---|
| OnJoinRoomResult | 首次加入房间/重连加入房间的回调。此回调表示用户调用 JoinRoom 的结果,根据错误码判断成功/失败以及区别是否为重连。 |
| OnLeaveRoom | 离开房间回调。 用户调用 LeaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有与通话相关的音视频资源后,通过此回调通知用户离开房间成功。 离开房间后,如果 App 需要使用系统音视频设备,则建议收到此回调后再初始化音视频设备,否则可能由于 SDK 占用音视频设备而导致初始化失败。 |
| OnRoomWarning | SDK 发生警告回调。 SDK 内部遇到可恢复错误时,在尝试自动恢复的同时,会通过此回调通知用户。此回调事件仅用作通知。 |
| OnRoomError | SDK 发生错误回调。 SDK 内部遇到不可恢复错误时,会通过此回调通知 App,需要 App 根据错误码进行操作或提示用户。 |
| OnUserJoined | 远端主播角色用户加入房间回调。 1.远端主播角色用户调用 JoinRoom 方法加入房间时,房间内其他用户将收到该事件。 2.远端主播角色用户断网后重新连入房间时,房间内其他用户将收到该事件。 3.远端静默观众角色用户调用 SetUserRole 方法将角色切换至主播时,房间内其他用户将收到该事件。 4.新进房用户会收到进房前已在房内的主播角色用户的进房回调通知。 |
| OnUserLeave | 远端主播角色用户离开房间回调。 发生以下情形时,房间内其他用户会收到此事件: 1.远端主播角色用户调用 LeaveRoom 方法离开房间时。 2.远端主播角色用户调用 SetUserRole 方法将角色切换至静默观众。 3.远端主播角色用户断网,且一直未恢复。 |
| OnStreamRemove | 房间内的远端用户停止发布音视频流时,本地用户会收到此回调。 |
| OnStreamAdd | 房间内的用户发布新的音视频流时,房间内的其他用户会收到此回调。包括移除后又重新发布的流。 |
| OnAudioFrameSendStateChanged | 音频首帧发送状态改变回调 |
| OnVideoFrameSendStateChanged | 视频首帧发送状态改变回调 |
| OnScreenVideoFrameSendStateChanged | 屏幕共享流视频首帧发送状态改变回调 |
| OnAudioFramePlayStateChanged | 音频首帧播放状态改变回调 |
| OnVideoFramePlayStateChanged | 视频首帧播放状态改变回调 |
| OnScreenVideoFramePlayStateChanged | 屏幕共享流视频首帧播放状态改变回调 |
| 回调 | 描述 |
|---|---|
| OnAudioVolumeIndication | 提示房间内所有用户发送音量的回调。 |
| OnMuteAllRemoteAudio | 当房间内用户调用 MuteAllRemoteAudio, 改变接收所有远端音频流的状态时, 房间内其他用户收到这个回调。 |
| OnUserMuteAudio | 房间内某用户调用 MuteLocalAudio 改变本地音频发送状态时,房间内其他用户会收到此回调。 |
| OnUserEnableLocalAudio | 远端用户开启/关闭音频设备采集时,房间内其他人会收到这个回调。 该回调由远端用户调用 StartAudioCapture 方法触发。 |
| OnUserStartAudioCapture | 房间内的用户调用 StartAudioCapture 开启音频采集时,房间内其他用户会收到此回调。 |
| OnUserStopAudioCapture | 房间内的用户调用 StopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。 |
| OnFirstLocalAudioFrame | 本地采集到第一帧音频帧时,收到该回调 |
| OnFirstRemoteAudioFrame | 接收到来自远端某音频流的第一帧时,收到该回调。 |
| OnLocalAudioStateChanged | 本地音频的状态发生改变时,该回调通知当前的本地音频状态。 |
| OnRemoteAudioStateChanged | 用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。 |
| 回调 | 描述 |
|---|---|
| OnRoomStats | 房间内通话统计信息回调。 用户进房开始通话后,每 2s 收到一次本回调。 |
| OnLocalStreamStats | 反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调,每 2s 触发一次。 |
| OnRemoteStreamStats | 通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况,每 2s 触发一次。 |
| 回调 | 描述 |
|---|---|
| OnRoomMessageReceived | 接收到房间内广播消息的回调。 |
| OnRoomBinaryMessageReceived | 接收到房间内二进制广播消息的回调。 |
| OnRoomMessageSendResult | 当调用 SendRoomMessage 函数发送消息后,回调此条消息的发送结果(反馈)。 |
| 回调 | 描述 |
|---|---|
| OnUserMessageReceived | 收到来自房间中其他用户发来的文本消息时(P2P),会收到此回调。 |
| OnUserBinaryMessageReceived | 单个用户接收到同一房间内其他 uid 所属用户发来二进制消息的回调(P2P)。 |
| OnUserMessageSendResult | 向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。 |
| 回调 | 描述 |
|---|---|
| OnUserStartVideoCapture | 房间内的用户调用 StartVideoCapture 开启视频采集时,房间内其他用户会收到此回调。 |
| OnUserStopVideoCapture | 房间内的用户调用 StopVideoCapture 关闭视频采集时,房间内其他用户会收到此回调。 |
| 回调 | 描述 |
|---|---|
| OnStreamMixingEvent | 通知 Transcoding 关键事件 @author wanghaoxu |
| OnStreamMixingVideoFrame | 合流视频回调,运行在视频回调线程 @author wanghaoxu |
| OnStreamMixingAudioFrame | 合流音频回调,运行在音频回调线程 @author wanghaoxu |
| OnStreamMixingDataFrame | 视频SEI帧回调,运行在视频回调线程 @author wanghaoxu |