IMediaPlayerSourceObserver
提供媒体播放器的回调。
onAudioVolumeIndication
媒体播放器音量提示回调。
virtual void onAudioVolumeIndication(int volume) = 0;
SDK 每 200 毫秒触发一次该回调,报告媒体播放器当前的音量。
参数
- volume
- 播放器的当前音量,取值范围为 [0,255]。
onAgoraCDNTokenWillExpire
提示鉴权信息即将过期。
virtual void onAgoraCDNTokenWillExpire() = 0;
当你调用 switchAgoraCDNLineByIndex 切换媒体资源的时候,如果 ts 过期,该回调会被触发,提示你更新鉴权信息。你需要调用 renewAgoraCDNSrcToken 传入新的鉴权信息,以更新该媒体资源网络路径的鉴权信息。更新鉴权信息后,你还需要调用 switchAgoraCDNLineByIndex 才能完成线路切换。
onMetaData
报告已获取媒体附属信息。
virtual void onMetaData(const void* data, int length) = 0;
解析媒体附属信息后时,SDK 会触发该回调,报告媒体附属信息的数据类型和具体数据。
参数
- data
- 具体数据,用户自定义格式的数据。
- length
- 数据长度,单位为 byte。
onPlayBufferUpdated
报告当前缓冲数据能播放的时间。
virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0;
播放在线媒体资源的过程中,SDK 会每隔 1 秒触发一次该回调,报告当前缓冲的数据能支持的播放时间。
- 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回 PLAYER_EVENT_BUFFER_LOW。
- 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回 PLAYER_EVENT_BUFFER_RECOVER。
参数
- playCachedBuffer
- 当前缓冲的数据能支持的播放时间 (毫秒)。
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_ERROR ec) = 0;
当播放器状态改变时,SDK 会触发该回调,报告新的播放状态。
参数
- state
- 新的播放状态,详见 MEDIA_PLAYER_STATE。
- ec
- 播放器错误码,详见 MEDIA_PLAYER_ERROR。
onPlayerSrcInfoChanged
onPositionChanged
报告当前播放进度。
virtual void onPositionChanged(int64_t position) = 0;
播放媒体文件时,SDK 每隔 1 秒会自动触发该回调,报告当前播放进度。
参数
- position
- 当前播放进度,单位为 ms。
onPreloadEvent
报告预加载媒体资源的事件。
virtual void onPreloadEvent(const char* src, media::base::PLAYER_PRELOAD_EVENT event) = 0;
参数
- src
- 媒体资源的路径。
- event
- 预加载媒体资源时发生的事件。详见 PLAYER_PRELOAD_EVENT。