音视频观测器
registerAudioFrameObserver
注册音频帧观测器。
void registerAudioFrameObserver(
{required AudioPcmFrameSink observer,
RawAudioFrameOpModeType mode =
RawAudioFrameOpModeType.rawAudioFrameOpModeReadOnly});
参数
- observer
- 音频帧观测器,观测每帧音频的接收,详见 AudioPcmFrameSink。
- mode
- 音频帧的使用模式,详见 RawAudioFrameOpModeType。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类registerPlayerSourceObserver
注册一个播放观测器。
void registerPlayerSourceObserver(MediaPlayerSourceObserver observer);
调用时机
加入频道前后均可调用。
参数
- observer
- 播放观测器,报告播放中的事件,详见 MediaPlayerSourceObserver。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类registerVideoFrameObserver
注册视频帧观测器。
void registerVideoFrameObserver(MediaPlayerVideoFrameObserver observer);
你需要在该方法中实现一个 MediaPlayerVideoFrameObserver 类,并根据场景需要,注册该类的回调。成功注册视频帧观测器后,SDK 会在捕捉到每个视频帧时,触发你所注册的回调。
参数
- observer
- 视频帧观测器,观测每帧视频的接收。详见 MediaPlayerVideoFrameObserver。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类unregisterAudioFrameObserver
取消注册音频帧观测器。
void unregisterAudioFrameObserver(AudioPcmFrameSink observer);
参数
- observer
- 音频帧观测器,详见 AudioPcmFrameSink。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类unregisterPlayerSourceObserver
取消注册播放观测器。
void unregisterPlayerSourceObserver(MediaPlayerSourceObserver observer);
参数
- observer
- 播放观测器,报告播放中的事件,详见 MediaPlayerSourceObserver。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类unregisterVideoFrameObserver
取消注册视频帧观测器。
void unregisterVideoFrameObserver(MediaPlayerVideoFrameObserver observer);
参数
- observer
- 视频帧观测器,观测每帧视频的接收,详见 MediaPlayerVideoFrameObserver。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类onAudioVolumeIndication
媒体播放器音量提示回调。
final void Function(int volume)? onAudioVolumeIndication;
SDK 每 200 毫秒触发一次该回调,报告媒体播放器当前的音量。
参数
- volume
- 播放器的当前音量,取值范围为 [0,255]。
onFrame
已获取音频帧回调。
final void Function(AudioPcmFrame frame)? onFrame;
注册音频数据观测器后,每次接收到一帧音频帧时,都会触发该回调,报告音频帧信息。
参数
- frame
- 音频帧信息。详见 AudioPcmFrame。
onMetaData
报告已获取媒体附属信息。
final void Function(Uint8List data, int length)? onMetaData;
解析媒体附属信息后时,SDK 会触发该回调,报告媒体附属信息的数据类型和具体数据。
参数
- data
- 具体数据,用户自定义格式的数据。
- length
- 数据长度,单位为 byte。
onPlayBufferUpdated
报告当前缓冲数据能播放的时间。
final void Function(int playCachedBuffer)? onPlayBufferUpdated;
- 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回
playerEventBufferLow(6)。 - 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回
playerEventBufferRecover(7)。
参数
- playCachedBuffer
- 当前缓冲的数据能支持的播放时间 (毫秒)。
onPlayerEvent
报告播放器的事件。
final void Function(
MediaPlayerEvent eventCode, int elapsedTime, String message)?
onPlayerEvent;
- 调用 seek 定位播放后,SDK 会触发该回调,报告定位播放的结果。
参数
- eventCode
- 播放器事件,详见 MediaPlayerEvent。
- elapsedTime
- 发生事件的时间 (毫秒)。
- message
- 事件的信息。
onPlayerInfoUpdated
媒体播放器相关信息发生改变回调。
final void Function(PlayerUpdatedInfo info)? onPlayerInfoUpdated;
当媒体播放器相关信息发生改变时,SDK 会触发该回调。你可用其进行问题定位和排查。
参数
- info
- 媒体播放器相关信息。详见 PlayerUpdatedInfo。
onPlayerSourceStateChanged
报告播放器状态改变。
final void Function(MediaPlayerState state, MediaPlayerReason reason)?
onPlayerSourceStateChanged;
当播放器状态改变时,SDK 会触发该回调,报告新的播放状态。
参数
- state
- 新的播放状态,详见 MediaPlayerState。
- reason
- 播放器状态改变的原因,详见 MediaPlayerReason。
onPlayerSrcInfoChanged
onPositionChanged
报告当前媒体资源的播放进度。
final void Function(int position)? onPositionChanged;
播放媒体文件时,SDK 每隔 1 秒会自动触发该回调,报告当前播放进度。
参数
- positionMs
- 当前播放进度,单位为 ms。
- timestampMs
- 当前播放进度的 NTP 时间戳,单位为 ms。
onPreloadEvent
报告预加载媒体资源的事件。
final void Function(String src, PlayerPreloadEvent event)? onPreloadEvent;
参数
- src
- 媒体资源的路径。
- event
- 预加载媒体资源时发生的事件。详见 PlayerPreloadEvent。