# 音视频观测器 (/zh-CN/api-reference/rtc/macos/play/mediaplayer/mediaplayer-observer)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<a id="toc_mediaplayer_observer"></a>

<a id="api_agorartcmediaplayervideoframedelegate_agorartcmediaplayergetvideopixelformat"></a>

<a id="ariaid-title2"></a>

## AgoraRtcMediaPlayerGetVideoPixelFormat [#agorartcmediaplayergetvideopixelformat]

设置原始视频数据的格式。

<a id="api_agorartcmediaplayervideoframedelegate_agorartcmediaplayergetvideopixelformat__prototype"></a>

```objc
- (AgoraVideoFormat)AgoraRtcMediaPlayerGetVideoPixelFormat NS_SWIFT_NAME(AgoraRtcMediaPlayerGetVideoPixelFormat());
```

<a id="api_agorartcmediaplayervideoframedelegate_agorartcmediaplayergetvideopixelformat__detailed_desc"></a>

你需要在调用 [setVideoFrameDelegate:](/zh-CN/api-reference/rtc/macos/video/video-raw#api_irtcengine_registervideoframeobserver) 方法时注册回调。当媒体播放器接收到每一帧视频时，会触发该回调。你可以在该回调的返回值中设置期望的视频数据格式。

<a id="api_agorartcmediaplayervideoframedelegate_agorartcmediaplayergetvideopixelformat__return_values"></a>

### 返回值 [#返回值]

你为原始视频数据设置的期望格式，详见 [AgoraVideoFormat](/zh-CN/api-reference/rtc/macos/enum-videopixelformat)。默认情况下，原始视频像素格式（`AgoraVideoFormatDefault`）可能是 `I420` 或 `CVPixelBufferRef`。

### 所属接口类 [#所属接口类]

- [AgoraRtcMediaPlayerVideoFrameDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_agorartcmediaplayervideoframedelegate)

<a id="api_agorartcmediaplayervideoframedelegate_didreceivepixelbuffer"></a>

<a id="ariaid-title3"></a>

## AgoraRtcMediaPlayer\:didReceivePixelBuffer: [#agorartcmediaplayerdidreceivepixelbuffer]

媒体播放器接收到视频源的像素缓冲区时触发的回调。

<a id="api_agorartcmediaplayervideoframedelegate_didreceivepixelbuffer__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
       didReceivePixelBuffer:(CVPixelBufferRef _Nonnull)pixelBuffer NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceivePixelBuffer:));
```

<a id="api_agorartcmediaplayervideoframedelegate_didreceivepixelbuffer__detailed_desc"></a>

触发该回调以报告类型为 `CVPixelBufferRef` 的像素缓冲区的详细信息。你可以使用这些信息进行图像处理与分析、自定义渲染等。

<a id="api_agorartcmediaplayervideoframedelegate_didreceivepixelbuffer__timing"></a>

### 调用时机 [#调用时机]

该回调在媒体播放器接收到视频源的像素缓冲区时被触发。

<a id="api_agorartcmediaplayervideoframedelegate_didreceivepixelbuffer__parameters"></a>

### 参数 [#参数]

<ParameterList>
<a id="playerkit"></a>
<Parameter name="playerKit">

媒体播放器对象，详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="pixelbuffer"></a>
<Parameter name="pixelBuffer">

包含像素缓冲区详细信息的 `CVPixelBufferRef` 对象。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-1]

- [AgoraRtcMediaPlayerVideoFrameDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_agorartcmediaplayervideoframedelegate)

<a id="api_agorartcmediaplayervideoframedelegate_didreceivevideoframe"></a>

<a id="ariaid-title4"></a>

## AgoraRtcMediaPlayer\:didReceiveVideoFrame: [#agorartcmediaplayerdidreceivevideoframe]

每次播放器接收到视频帧时触发的回调。

<a id="api_agorartcmediaplayervideoframedelegate_didreceivevideoframe__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
       didReceiveVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveVideoFrame:));
```

<a id="api_agorartcmediaplayervideoframedelegate_didreceivevideoframe__detailed_desc"></a>

<a id="api_agorartcmediaplayervideoframedelegate_didreceivevideoframe__timing"></a>

### 调用时机 [#调用时机-1]

该回调在播放器每次接收到视频帧时被触发。

<a id="api_agorartcmediaplayervideoframedelegate_didreceivevideoframe__parameters"></a>

### 参数 [#参数-1]

<ParameterList>
<a id="playerkit-1"></a>
<Parameter name="playerKit">

播放器对象。详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="videoframe"></a>
<Parameter name="videoFrame">

视频帧信息。详见 [AgoraOutputVideoFrame](/zh-CN/api-reference/rtc/macos/class-videoframe)。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-2]

- [AgoraRtcMediaPlayerVideoFrameDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_agorartcmediaplayervideoframedelegate)

<a id="callback_imediaplayersourceobserver_onaudiovolumeindication_imediaplayersourceobserver"></a>

<a id="ariaid-title5"></a>

## AgoraRtcMediaPlayer\:volumeIndicationDidReceive: [#agorartcmediaplayervolumeindicationdidreceive]

报告媒体播放器的音量。

<a id="callback_imediaplayersourceobserver_onaudiovolumeindication_imediaplayersourceobserver__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
             volumeIndicationDidReceive:(NSInteger)volume NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:volumeIndicationDidReceive:));
```

<a id="callback_imediaplayersourceobserver_onaudiovolumeindication_imediaplayersourceobserver__detailed_desc"></a>

该回调每 200 毫秒触发一次，用于报告当前媒体播放器的音量。

<a id="callback_imediaplayersourceobserver_onaudiovolumeindication_imediaplayersourceobserver__timing"></a>

### 触发时机 [#触发时机]

该回调每 200 毫秒触发一次。

<a id="callback_imediaplayersourceobserver_onaudiovolumeindication_imediaplayersourceobserver__parameters"></a>

### 参数 [#参数-2]

<ParameterList>
<a id="playerkit-2"></a>
<Parameter name="playerKit">

[AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer) 实例。详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="volume"></a>
<Parameter name="volume">

媒体播放器的音量，取值范围为 0 到 255。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-3]

- [AgoraRtcMediaPlayerDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayersourceobserver)

<a id="callback_iaudiopcmframesink_onframe_iaudiopcmframesink"></a>

<a id="ariaid-title6"></a>

## AgoraRtcMediaPlayer\:didReceiveAudioFrame: [#agorartcmediaplayerdidreceiveaudioframe]

每次播放器接收到音频帧时触发的回调。

<a id="callback_iaudiopcmframesink_onframe_iaudiopcmframesink__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
       didReceiveAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveAudioFrame:));
```

<a id="callback_iaudiopcmframesink_onframe_iaudiopcmframesink__detailed_desc"></a>

注册音频帧观察器后，每次播放器接收到音频帧时，都会触发该回调，报告音频帧的详细信息。

<a id="callback_iaudiopcmframesink_onframe_iaudiopcmframesink__timing"></a>

### 触发时机 [#触发时机-1]

每次播放器接收到音频帧时触发。

<a id="callback_iaudiopcmframesink_onframe_iaudiopcmframesink__parameters"></a>

### 参数 [#参数-3]

<ParameterList>
<a id="playerkit-3"></a>
<Parameter name="playerKit">

播放器实例，详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="audioframe"></a>
<Parameter name="audioFrame">

音频帧信息，详见 [AgoraAudioFrame](/zh-CN/api-reference/rtc/macos/class-audioframe)。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-4]

- [AgoraRtcMediaPlayerAudioFrameDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_iaudiopcmframesink)

<a id="callback_imediaplayersourceobserver_onmetadata"></a>

<a id="ariaid-title7"></a>

## AgoraRtcMediaPlayer\:didReceiveData\:length: [#agorartcmediaplayerdidreceivedatalength]

接收到媒体元数据时触发的回调。

<a id="callback_imediaplayersourceobserver_onmetadata__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
             didReceiveData:(NSString *_Nullable)data
                     length:(NSInteger)length NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveData:length:));
```

<a id="callback_imediaplayersourceobserver_onmetadata__detailed_desc"></a>

播放器接收到媒体元数据时，会触发该回调并上报媒体元数据的详细信息。

<a id="callback_imediaplayersourceobserver_onmetadata__timing"></a>

### 触发时机 [#触发时机-2]

该回调在播放器接收到媒体元数据时触发。

<a id="callback_imediaplayersourceobserver_onmetadata__parameters"></a>

### 参数 [#参数-4]

<ParameterList>
<a id="playerkit-4"></a>
<Parameter name="playerKit">

播放器实例。详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="data"></a>
<Parameter name="data">

媒体元数据的详细数据。

</Parameter>
<a id="length"></a>
<Parameter name="length">

数据长度（字节）。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-5]

- [AgoraRtcMediaPlayerDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayersourceobserver)

<a id="callback_imediaplayersourceobserver_onplaybufferupdated"></a>

<a id="ariaid-title8"></a>

## AgoraRtcMediaPlayer\:didPlayBufferUpdated: [#agorartcmediaplayerdidplaybufferupdated]

报告缓冲数据可支持的播放时长。

<a id="callback_imediaplayersourceobserver_onplaybufferupdated__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
             didPlayBufferUpdated:(NSInteger)playCachedBuffer NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didPlayBufferUpdated:));
```

<a id="callback_imediaplayersourceobserver_onplaybufferupdated__detailed_desc"></a>

- 当缓冲数据可支持的播放时长小于阈值（默认值为 0）时，SDK 返回 `AgoraMediaPlayerEventBufferLow`（6）。
- 当缓冲数据可支持的播放时长大于阈值（默认值为 0）时，SDK 返回 `AgoraMediaPlayerEventBufferRecover`（7）。

<a id="callback_imediaplayersourceobserver_onplaybufferupdated__timing"></a>

### 触发时机 [#触发时机-3]

播放在线媒体资源时，SDK 每两秒触发一次该回调。

<a id="callback_imediaplayersourceobserver_onplaybufferupdated__parameters"></a>

### 参数 [#参数-5]

<ParameterList>
<a id="playerkit-5"></a>
<Parameter name="playerKit">

播放器实例。详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="playcachedbuffer"></a>
<Parameter name="playCachedBuffer">

缓冲数据可支持的播放时长（毫秒）。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-6]

- [AgoraRtcMediaPlayerDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayersourceobserver)

<a id="callback_imediaplayersourceobserver_onplayerevent"></a>

<a id="ariaid-title9"></a>

## AgoraRtcMediaPlayer\:didOccurEvent\:elapsedTime\:message: [#agorartcmediaplayerdidoccureventelapsedtimemessage]

上报播放器事件。

<a id="callback_imediaplayersourceobserver_onplayerevent__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
              didOccurEvent:(AgoraMediaPlayerEvent)eventCode
                elapsedTime:(NSInteger)elapsedTime
                    message:(NSString *_Nullable)message NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didOccur:elapsedTime:message:));
```

<a id="callback_imediaplayersourceobserver_onplayerevent__detailed_desc"></a>

调用 [seekToPosition:](/zh-CN/api-reference/rtc/macos/play/mediaplayer/mediaplayer-control#api_imediaplayer_seek) 方法后，SDK 会触发该回调，上报跳转播放位置操作的结果。

<a id="callback_imediaplayersourceobserver_onplayerevent__timing"></a>

### 触发时机 [#触发时机-4]

该回调在你调用 [seekToPosition:](/zh-CN/api-reference/rtc/macos/play/mediaplayer/mediaplayer-control#api_imediaplayer_seek) 方法后触发，用于上报跳转播放位置操作的结果。

<a id="callback_imediaplayersourceobserver_onplayerevent__parameters"></a>

### 参数 [#参数-6]

<ParameterList>
<a id="playerkit-6"></a>
<Parameter name="playerKit">

播放器实例。详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="eventcode"></a>
<Parameter name="eventCode">

播放器事件类型。详见 [AgoraMediaPlayerEvent](/zh-CN/api-reference/rtc/macos/enum-mediaplayerevent)。

</Parameter>
<a id="elapsedtime"></a>
<Parameter name="elapsedTime">

事件发生的时间，单位为毫秒。

</Parameter>
<a id="message"></a>
<Parameter name="message">

事件的相关信息。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-7]

- [AgoraRtcMediaPlayerDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayersourceobserver)

<a id="callback_imediaplayersourceobserver_onplayerinfoupdated"></a>

<a id="ariaid-title10"></a>

## AgoraRtcMediaPlayer\:infoUpdated: [#agorartcmediaplayerinfoupdated]

媒体播放器相关信息发生变化时的回调。

<a id="callback_imediaplayersourceobserver_onplayerinfoupdated__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:infoUpdated:));
```

<a id="callback_imediaplayersourceobserver_onplayerinfoupdated__detailed_desc"></a>

你可以通过该回调获取媒体播放器的最新信息，用于故障排查。

<a id="callback_imediaplayersourceobserver_onplayerinfoupdated__timing"></a>

### 触发时机 [#触发时机-5]

该回调在媒体播放器相关信息发生变化时被触发。

<a id="callback_imediaplayersourceobserver_onplayerinfoupdated__parameters"></a>

### 参数 [#参数-7]

<ParameterList>
<a id="playerkit-7"></a>
<Parameter name="playerKit">

媒体播放器对象。详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="info"></a>
<Parameter name="info">

媒体播放器相关的信息。详见 [AgoraMediaPlayerUpdatedInfo](/zh-CN/api-reference/rtc/macos/class-playerupdatedinfo)。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-8]

- [AgoraRtcMediaPlayerDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayersourceobserver)

<a id="callback_imediaplayersourceobserver_onplayersourcestatechanged"></a>

<a id="ariaid-title11"></a>

## AgoraRtcMediaPlayer\:didChangedToState\:reason: [#agorartcmediaplayerdidchangedtostatereason]

播放状态发生变化时触发的回调。

<a id="callback_imediaplayersourceobserver_onplayersourcestatechanged__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
          didChangedToState:(AgoraMediaPlayerState)state
                      reason:(AgoraMediaPlayerReason)reason NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didChangedTo:reason:));
```

<a id="callback_imediaplayersourceobserver_onplayersourcestatechanged__detailed_desc"></a>

播放状态发生变化时触发的回调。

<a id="callback_imediaplayersourceobserver_onplayersourcestatechanged__timing"></a>

### 触发时机 [#触发时机-6]

该回调在媒体播放器播放状态发生变化时被触发。

<a id="callback_imediaplayersourceobserver_onplayersourcestatechanged__parameters"></a>

### 参数 [#参数-8]

<ParameterList>
<a id="playerkit-8"></a>
<Parameter name="playerKit">

媒体播放器实例。详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="state"></a>
<Parameter name="state">

播放状态。详见 [AgoraMediaPlayerState](/zh-CN/api-reference/rtc/macos/enum-mediaplayerstate)。

</Parameter>
<a id="reason"></a>
<Parameter name="reason">

播放状态变化的原因。详见 [AgoraMediaPlayerReason](/zh-CN/api-reference/rtc/macos/enum-mediaplayerreason)。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-9]

- [AgoraRtcMediaPlayerDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayersourceobserver)

<a id="callback_imediaplayersourceobserver_onplayersrcinfochanged"></a>

<a id="ariaid-title12"></a>

## AgoraRtcMediaPlayer\:playerSrcInfoDidChange\:from: [#agorartcmediaplayerplayersrcinfodidchangefrom]

媒体文件播放源信息变化回调。

<a id="callback_imediaplayersourceobserver_onplayersrcinfochanged__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:playerSrcInfoDidChange:from:));
```

<a id="callback_imediaplayersourceobserver_onplayersrcinfochanged__detailed_desc"></a>

该回调在播放媒体文件过程中每两秒触发一次，用于报告播放源信息的变化。

<a id="callback_imediaplayersourceobserver_onplayersrcinfochanged__timing"></a>

### 触发时机 [#触发时机-7]

该回调在播放媒体文件过程中每两秒触发一次。

<a id="callback_imediaplayersourceobserver_onplayersrcinfochanged__parameters"></a>

### 参数 [#参数-9]

<ParameterList>
<a id="playerkit-9"></a>
<Parameter name="playerKit">

播放器实例。详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="to"></a>
<Parameter name="to">

变更后的媒体播放器源信息。详见 [AgoraMediaPlayerSrcInfo](/zh-CN/api-reference/rtc/macos/class-srcinfo)。

</Parameter>
<a id="from"></a>
<Parameter name="from">

变更前的媒体播放器源信息。详见 [AgoraMediaPlayerSrcInfo](/zh-CN/api-reference/rtc/macos/class-srcinfo)。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-10]

- [AgoraRtcMediaPlayerDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayersourceobserver)

<a id="callback_imediaplayersourceobserver_onpositionchanged"></a>

<a id="ariaid-title13"></a>

## AgoraRtcMediaPlayer\:didChangedToPosition\:atTimestamp: [#agorartcmediaplayerdidchangedtopositionattimestamp]

播放进度回调。

<a id="callback_imediaplayersourceobserver_onpositionchanged__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
       didChangedToPosition:(NSInteger)positionMs
                atTimestamp:(NSTimeInterval)timestampMs NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didChangedTo:atTimestamp:));
```

<a id="callback_imediaplayersourceobserver_onpositionchanged__detailed_desc"></a>

该回调在播放过程中每秒触发一次，用于报告当前播放进度。

<a id="callback_imediaplayersourceobserver_onpositionchanged__timing"></a>

### 触发时机 [#触发时机-8]

该回调在播放过程中每秒触发一次。

<a id="callback_imediaplayersourceobserver_onpositionchanged__parameters"></a>

### 参数 [#参数-10]

<ParameterList>
<a id="playerkit-10"></a>
<Parameter name="playerKit">

播放器实例。详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="positionms"></a>
<Parameter name="positionMs">

当前播放进度，单位为毫秒。

</Parameter>
<a id="timestampms"></a>
<Parameter name="timestampMs">

发送 `positionMs` 时的 NTP 时间戳，单位为毫秒。

:::note
注： 该参数仅在频道内生效。
:::

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-11]

- [AgoraRtcMediaPlayerDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayersourceobserver)

<a id="callback_imediaplayersourceobserver_onpreloadevent"></a>

<a id="ariaid-title14"></a>

## AgoraRtcMediaPlayer\:didPreloadEvent: [#agorartcmediaplayerdidpreloadevent]

上报预加载媒体资源的事件。

<a id="callback_imediaplayersourceobserver_onpreloadevent__prototype"></a>

```objc
- (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
            didPreloadEvent:(AgoraMediaPlayerPreloadEvent)event NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didPreloadEvent:));
```

<a id="callback_imediaplayersourceobserver_onpreloadevent__detailed_desc"></a>

<a id="callback_imediaplayersourceobserver_onpreloadevent__timing"></a>

### 触发时机 [#触发时机-9]

该回调在媒体资源预加载过程中发生事件时被触发。

<a id="callback_imediaplayersourceobserver_onpreloadevent__parameters"></a>

### 参数 [#参数-11]

<ParameterList>
<a id="playerkit-11"></a>
<Parameter name="playerKit">

播放器实例，详见 [AgoraRtcMediaPlayerProtocol](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayer)。

</Parameter>
<a id="event"></a>
<Parameter name="event">

预加载媒体资源时发生的事件，详见 [AgoraMediaPlayerPreloadEvent](/zh-CN/api-reference/rtc/macos/enum-playerpreloadevent)。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-12]

- [AgoraRtcMediaPlayerDelegate](/zh-CN/api-reference/rtc/macos/rtc-interface-class#class_imediaplayersourceobserver)
