音视频观测器
reportAudioVolumeIndicationOfSpeakers
媒体播放器音量提示回调。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
volumeIndicationDidReceive:(NSInteger)volume;
SDK 每 200 毫秒触发一次该回调,报告媒体播放器当前的音量。
参数
参数名 | 描述 |
---|---|
volume | 播放器的当前音量,取值范围为 [0,255]。 |
didReceiveData
报告已获取媒体附属信息。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
didReceiveData:(NSString *_Nullable)data
length:(NSInteger)length;
解析媒体附属信息后时,SDK 会触发该回调,报告媒体附属信息的数据类型和具体数据。
参数
参数名 | 描述 |
---|---|
playerKit | |
data | 具体数据,用户自定义格式的数据。 |
length | 数据长度,单位为 byte。 |
didPlayBufferUpdated
报告当前缓冲数据能播放的时间。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
didPlayBufferUpdated:(NSInteger)playCachedBuffer NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didPlayBufferUpdated:));
播放在线媒体资源的过程中,SDK 会每隔 1 秒触发一次该回调,报告当前缓冲的数据能支持的播放时间。
-
当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回
AgoraMediaPlayerEventBufferLow
。 -
当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回
AgoraMediaPlayerEventBufferRecover
。
参数
参数名 | 描述 |
---|---|
playerKit | |
playCachedBuffer | 当前缓冲的数据能支持的播放时间 (毫秒)。 |
didOccurEvent
报告播放器的事件。
(void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
didOccurEvent:(AgoraMediaPlayerEvent)eventCode
elapsedTime:(NSInteger)elapsedTime
message:(NSString *_Nullable)message;
- 调用
seekToPosition
定位播放后,SDK 会触发该回调,报告定位播放的结果。
参数
参数名 | 描述 |
---|---|
playerKit | |
eventCode | 播放器事件,详见 |
elapsedTime | 发生事件的时间 (毫秒)。 |
message | 事件的信息。 |
infoUpdated
媒体播放器相关信息发生改变回调。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info;
当媒体播放器相关信息发生改变时,SDK 会触发该回调。你可用其进行问题定位和排查。
参数
参数名 | 描述 |
---|---|
playerKit | |
info | 媒体播放器相关信息。详见 |
didChangedToState
报告播放器状态改变。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
didChangedToState:(AgoraMediaPlayerState)state
error:(AgoraMediaPlayerError)error NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didChangedTo:error:));
当播放器状态改变时,SDK 会触发该回调,报告新的播放状态。
参数
参数名 | 描述 |
---|---|
playerKit | |
state | 新的播放状态,详见 |
error | 播放器错误码,详见 |
didChangedPlayerSrcInfoFrom
媒体资源视频码率变化回调。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from;
参数
参数名 | 描述 |
---|---|
playerKit | |
from | 变化前,媒体资源播放时的视频码率相关信息。详见 |
to | 变化后,媒体资源播放时的视频码率相关信息。详见 |
didChangedToPosition
报告当前播放进度。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
didChangedToPosition:(NSInteger)position NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didChangedTo:));
播放媒体文件时,SDK 每隔 1 秒会自动触发该回调,报告当前播放进度。
参数
参数名 | 描述 |
---|---|
playerKit | |
position | 当前播放进度,单位为 ms。 |
didPreloadEvent
报告预加载媒体资源的事件。
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
didPreloadEvent:(AgoraMediaPlayerPreloadEvent)event;
参数
参数名 | 描述 |
---|---|
playerKit | |
event | 预加载媒体资源时发生的事件。详见 |
AgoraRtcMediaPlayerCustomSourceOnReadCallback
读取媒体资源数据回调。
typedef int(^AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, unsigned char * _Nullable buffer, int bufferSize);
使用 openWithCustomSourceAtStartPos
打开自定义媒体资源时,SDK 会触发该回调,向你请求定位到媒体资源中的指定位置。
参数
参数名 | 描述 |
---|---|
playerKit | 媒体播放器协议。详见 |
buffer | 输入参数,数据 Buffer,单位为字节。请将 SDK 报告的 |
bufferSize | 数据 Buffer 的长度,单位为字节。 |
返回值
-
如果读取数据成功,请在返回值中传入你实际读取的数据长度,单位为字节。
-
如果读取数据失败,请在返回值中传入 0。