CloudHub 文档中心
下载中心 文档中心

RTS 实时流直播


CloudHubRTS CPP

IUpStreamEventHandler

推流事件处理

onCaptureFirstAudioFrame

捕获首帧音频帧

void onCaptureFirstAudioFrame(cloudhub::IUpStream* stream)

参数

参数描述
stream推流器

onCaptureFirstVideoFrame

捕获首帧视频帧

void onCaptureFirstVideoFrame(cloudhub::IUpStream* stream,
                                        int width,
                                        int height,const char* sourceID="")

参数

参数描述
stream推流器
width本地渲染视频的宽 (px)
height本地渲染视频的高 (px)
sourceID设备 Id

onPushStatusUpdate

推流连接状态回调

void onPushStatusUpdate(cloudhub::IUpStream* stream,
                                  CONNECTION_STATE_TYPE type)

参数

参数描述
stream推流器
type连接状态

onLocalVideoStateChanged

本地视频状态发生改变回调

void onLocalVideoStateChanged(
      cloudhub::IUpStream* stream,
      cloudhub::LOCAL_VIDEO_STREAM_STATE localVideoState,
      cloudhub::LOCAL_VIDEO_STREAM_ERROR error)

参数

参数描述
stream推流器
localVideoState本地视频状态,详见 LOCAL_VIDEO_STREAM_STATE
error本地视频出错原因,详见 LOCAL_VIDEO_STREAM_ERROR

详情

本地视频的状态发生改变时,SDK 会触发该回调返回当前的本地视频状态。你可以通过该回调了解当前视频的状态以及出现故障的原因,方便排查问题

SDK 会在如下情况触发 onLocalVideoStateChange 回调:

摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK 触发 onLocalVideoStateChange 回调

注意:帧重复检测仅针对分辨率大于 200 × 200,帧率大于等于 10 fps,码率小于 20 Kbps 的视频帧

onLocalAudioStateChanged

本地音频状态发生改变回调

void onLocalAudioStateChanged(cloudhub::IUpStream* stream,
      cloudhub::LOCAL_AUDIO_STREAM_STATE state,
      cloudhub::LOCAL_AUDIO_STREAM_ERROR error)

参数

参数描述
stream推流器
state当前的本地音频状态,详见 LOCAL_AUDIO_STREAM_STATE
error本地音频出错原因,详见 LOCAL_AUDIO_STREAM_ERROR

详情

本地音频的状态发生改变时(包括本地麦克风采集状态和音频编码状态), SDK 会触发该回调报告当前的本地音频状态。在本地音频出现故障时, 该回调可以帮助你了解当前音频的状态以及出现故障的原因,方便你排查问题

onStatisticsUpdate

统计信息回调

void onStatisticsUpdate(cloudhub::IUpStream* stream,
                                  cloudhub::RtcStats& stats)

参数

参数描述
stream推流器
stats统计数据,详见 RtcStats

onAudioVolumeIndication

流音量提示回调

void onAudioVolumeIndication(cloudhub::IUpStream* stream,
                                       int volume)

参数

参数描述
stream推流器
volume音量,取值范围为 [0,255]
• volume 为流的音量

详情

该回调默认禁用,你可以通过 enableVolumeIndication 开启。

onVideoDeviceStateChanged

视频设备变化回调

void onVideoDeviceStateChanged(std::string deviceId,
      cloudhub::MEDIA_DEVICE_STATE_TYPE deviceState)

参数

参数描述
deviceId设备id
deviceState设备状态,详见 MEDIA_DEVICE_STATE_TYPE

详情

该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断

onAudioDeviceStateChanged

提示系统音频设备状态发生改变,比如耳机被拔出

void onAudioDeviceStateChanged(std::string deviceId,
      cloudhub::MEDIA_DEVICE_TYPE deviceType,
      cloudhub::MEDIA_DEVICE_STATE_TYPE deviceState)

参数

参数描述
deviceId设备id
deviceType设备类型定义,详见 MEDIA_DEVICE_TYPE
deviceState设备状态,详见 MEDIA_DEVICE_STATE_TYPE

onError

发生错误回调

void onError(cloudhub::IUpStream* stream, int code, const char* msg) 

参数

参数描述
stream推流器
code错误 code
msg错误描述

详情

该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。