AgoraRtcMediaPlayerDelegate
提供媒体播放器的回调。
reportAudioVolumeIndicationOfSpeakers
媒体播放器音量提示回调。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit volumeIndicationDidReceive:(NSInteger)volume;
SDK 每 200 毫秒触发一次该回调,报告媒体播放器当前的音量。
参数
- volume
- 播放器的当前音量,取值范围为 [0,255]。
onAgoraCDNTokenWillExpire
提示鉴权信息即将过期。
- (void)onAgoraCDNTokenWillExpire;
当你调用 switchAgoraCDNLineByIndex 切换媒体资源的时候,如果 ts 过期,该回调会被触发,提示你更新鉴权信息。你需要调用 renewAgoraCDNSrcToken 传入新的鉴权信息,以更新该媒体资源网络路径的鉴权信息。更新鉴权信息后,你还需要调用 switchAgoraCDNLineByIndex 才能完成线路切换。
didReceiveData
报告已获取媒体附属信息。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveData:(NSString *_Nullable)data length:(NSInteger)length;
解析媒体附属信息后时,SDK 会触发该回调,报告媒体附属信息的数据类型和具体数据。
参数
- playerKit
- 详见 AgoraRtcMediaPlayerProtocol。
- data
- 具体数据,用户自定义格式的数据。
- length
- 数据长度,单位为 byte。
didPlayBufferUpdated
报告当前缓冲数据能播放的时间。
- (void)AgoraMediaPlayer:(AgoraMediaPlayer *_Nonnull)playerKit didPlayBufferUpdated:(NSInteger)playCachedBuffer;
播放在线媒体资源的过程中,SDK 会每隔 1 秒触发一次该回调,报告当前缓冲的数据能支持的播放时间。
- 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回 AgoraMediaPlayerEventBufferLow。
- 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回 AgoraMediaPlayerEventBufferRecover。
参数
- playerKit
- 详见 AgoraRtcMediaPlayerProtocol。
- playCachedBuffer
- 当前缓冲的数据能支持的播放时间 (毫秒)。
didOccurEvent
报告播放器的事件。
(void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didOccurEvent:(AgoraMediaPlayerEvent)eventCode elapsedTime:(NSInteger)elapsedTime message:(NSString *_Nullable)message;
- 调用 seekToPosition 定位播放后,SDK 会触发该回调,报告定位播放的结果。
参数
- playerKit
- 详见 AgoraRtcMediaPlayerProtocol。
- eventCode
- 播放器事件,详见 AgoraMediaPlayerEvent。
- elapsedTime
- 发生事件的时间 (毫秒)。
- message
- 事件的信息。
infoUpdated
媒体播放器相关信息发生改变回调。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info;
当媒体播放器相关信息发生改变时,SDK 会触发该回调。你可用其进行问题定位和排查。
参数
- playerKit
- 详见 AgoraRtcMediaPlayerProtocol。
- info
- 媒体播放器相关信息。详见 AgoraMediaPlayerUpdatedInfo。
didChangedToState
报告播放器状态改变。
- (void)AgoraMediaPlayer:(AgoraMediaPlayer *_Nonnull)playerKit didChangedToState:(AgoraMediaPlayerState)state error:(AgoraMediaPlayerError)error;
当播放器状态改变时,SDK 会触发该回调,报告新的播放状态。
参数
- playerKit
- 详见 AgoraRtcMediaPlayerProtocol。
- state
- 新的播放状态,详见 AgoraMediaPlayerState。
- error
- 播放器错误码,详见 AgoraMediaPlayerError。
didChangedPlayerSrcInfoFrom
媒体资源视频码率变化回调。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from;
参数
- playerKit
- 详见 AgoraRtcMediaPlayerProtocol。
- from
- 变化前,媒体资源播放时的视频码率相关信息。详见 AgoraMediaPlayerSrcInfo。
- to
- 变化后,媒体资源播放时的视频码率相关信息。详见 AgoraMediaPlayerSrcInfo。
didChangedToPosition
报告当前播放进度。
- (void)AgoraMediaPlayer:(AgoraMediaPlayer *_Nonnull)playerKit didChangedToPosition:(NSInteger)position;
播放媒体文件时,SDK 每隔 1 秒会自动触发该回调,报告当前播放进度。
参数
- playerKit
- 详见 AgoraRtcMediaPlayerProtocol。
- position
- 当前播放进度,单位为 ms。
didPreloadEvent
报告预加载媒体资源的事件。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didPreloadEvent:(AgoraMediaPlayerPreloadEvent)event;
参数
- playerKit
- 详见 AgoraRtcMediaPlayerProtocol。
- event
- 预加载媒体资源时发生的事件。详见 AgoraMediaPlayerPreloadEvent。