音视频观测器
- Unreal C++
更新时间不可用
registerAudioFrameObserver [1/2]
注册 PCM 音频帧观测器。
virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0;详情
你需要在该方法中实现一个 IAudioPcmFrameSink 类,并根据场景需要,注册该类的回调。成功注册音频帧观测器后,SDK 会在捕捉到每个音频帧时,触发你所注册的回调。
参数
| 参数名 | 描述 |
|---|---|
observer | 音频帧观测器,观测每帧音频的接收,详见 IAudioPcmFrameSink。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
registerAudioFrameObserver [2/2]
注册音频帧观测器。
virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer,
RAW_AUDIO_FRAME_OP_MODE_TYPE mode) = 0;参数
| 参数名 | 描述 |
|---|---|
observer | 音频帧观测器,观测每帧音频的接收,详见 IAudioPcmFrameSink。 |
mode | 音频帧的使用模式,详见 RAW_AUDIO_FRAME_OP_MODE_TYPE。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
registerPlayerSourceObserver
注册一个播放观测器。
virtual int registerPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0;调用时机
加入频道前后均可调用。
调用限制
无。
参数
| 参数名 | 描述 |
|---|---|
observer | 播放观测器,报告播放中的事件,详见 IMediaPlayerSourceObserver。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
registerVideoFrameObserver
注册视频帧观测器。
virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0;详情
你需要在该方法中实现一个 IVideoFrameObserver 类,并根据场景需要,注册该类的回调。成功注册视频帧观测器后,SDK 会在捕捉到每个视频帧时,触发你所注册的回调。
参数
| 参数名 | 描述 |
|---|---|
observer | 视频帧观测器,观测每帧视频的接收。详见 IVideoFrameObserver。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
unregisterAudioFrameObserver
取消注册音频帧观测器。
virtual int unregisterAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0;参数
| 参数名 | 描述 |
|---|---|
observer | 音频帧观测器,详见 IAudioPcmFrameSink。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
unregisterPlayerSourceObserver
取消注册播放观测器。
virtual int unregisterPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0;参数
| 参数名 | 描述 |
|---|---|
observer | 播放观测器,报告播放中的事件,详见 IMediaPlayerSourceObserver。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
unregisterVideoFrameObserver
取消注册视频帧观测器。
virtual int unregisterVideoFrameObserver(agora::media::base::IVideoFrameObserver* observer) = 0;参数
| 参数名 | 描述 |
|---|---|
observer | 视频帧观测器,观测每帧视频的接收,详见 IVideoFrameObserver。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
onAudioVolumeIndication
媒体播放器音量提示回调。
virtual void onAudioVolumeIndication(int volume) = 0;详情
SDK 每 200 毫秒触发一次该回调,报告媒体播放器当前的音量。
参数
所属接口类
onFrame
已获取音频帧回调。
virtual void onFrame(agora::media::base::AudioPcmFrame* frame) = 0;详情
注册音频数据观测器后,每次接收到一帧音频帧时,都会触发该回调,报告音频帧信息。
参数
| 参数名 | 描述 |
|---|---|
frame | 音频帧信息。详见 AudioPcmFrame。 |
所属接口类
onMetaData
报告已获取媒体附属信息。
virtual void onMetaData(const void* data, int length) = 0;详情
解析媒体附属信息后时,SDK 会触发该回调,报告媒体附属信息的数据类型和具体数据。
参数
所属接口类
onPlayBufferUpdated
报告当前缓冲数据能播放的时间。
virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0;详情
播放在线媒体资源的过程中,SDK 会每隔 1 秒触发一次该回调,报告当前缓冲的数据能支持的播放时间。
- 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回 PLAYER_EVENT_BUFFER_LOW (6)。
- 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回 PLAYER_EVENT_BUFFER_RECOVER (7)。
参数
所属接口类
onPlayerEvent
报告播放器的事件。
virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT eventCode, int64_t elapsedTime, const char* message) = 0;详情
- 调用 seek 定位播放后,SDK 会触发该回调,报告定位播放的结果。
参数
| 参数名 | 描述 |
|---|---|
eventCode | 播放器事件,详见 MEDIA_PLAYER_EVENT。 |
elapsedTime | |
message |
所属接口类
onPlayerInfoUpdated
媒体播放器相关信息发生改变回调。
virtual void onPlayerInfoUpdated(const media::base::PlayerUpdatedInfo& info) = 0;详情
当媒体播放器相关信息发生改变时,SDK 会触发该回调。你可用其进行问题定位和排查。
参数
| 参数名 | 描述 |
|---|---|
info | 媒体播放器相关信息。详见 PlayerUpdatedInfo。 |
所属接口类
onPlayerSourceStateChanged
报告播放器状态改变。
virtual void onPlayerSourceStateChanged(media::base::MEDIA_PLAYER_STATE state,
media::base::MEDIA_PLAYER_REASON reason) = 0;详情
当播放器状态改变时,SDK 会触发该回调,报告新的播放状态。
参数
| 参数名 | 描述 |
|---|---|
state | 新的播放状态,详见 MEDIA_PLAYER_STATE。 |
reason | 播放器状态改变的原因,详见 MEDIA_PLAYER_REASON。 |
所属接口类
onPlayerSrcInfoChanged
媒体资源视频码率变化回调。
virtual void onPlayerSrcInfoChanged(const media::base::SrcInfo& from, const media::base::SrcInfo& to) = 0;参数
所属接口类
onPositionChanged
报告当前媒体资源的播放进度。
virtual void onPositionChanged(int64_t positionMs, int64_t timestampMs) = 0;详情
播放媒体文件时,SDK 每隔 1 秒会自动触发该回调,报告当前播放进度。
参数
所属接口类
onPreloadEvent
报告预加载媒体资源的事件。
virtual void onPreloadEvent(const char* src, media::base::PLAYER_PRELOAD_EVENT event) = 0;参数
| 参数名 | 描述 |
|---|---|
src | |
event | 预加载媒体资源时发生的事件。详见 PLAYER_PRELOAD_EVENT。 |
所属接口类
onReadData
读取媒体资源数据回调。
virtual int onReadData(unsigned char *buffer, int bufferSize) = 0;详情
使用 openWithMediaSource 打开媒体资源时,SDK 会触发该回调向你请求传入媒体资源数据的 Buffer。
参数
返回值
- 如果读取数据成功,请在返回值中传入你实际读取的数据长度,单位为字节。
- 如果读取数据失败,请在返回值中传入 0。