音视频观测器
- Unreal Blueprint
更新时间不可用
GetMediaPlayerSourceObserver
获取事件处理器。
UFUNCTION(BlueprintPure, Category = "Agora|IRtcEngine")
UAgoraBPuIMediaPlayerSourceObserver* GetMediaPlayerSourceObserver();调用该方法获取事件处理器后,你可以调用 AddBlueprintCallbackExecutor 绑定对应的回调执行器。
调用时机
调用 GetAgoraRtcEngine 后。
调用限制
无。
返回值
返回一个指向 UAgoraBPuIMediaPlayerSourceObserver 事件处理器的指针。
AddBlueprintCallbackExecutor
添加一个蓝图回调执行器。
UFUNCTION(BlueprintCallable, Category = "Agora|Event")
void AddBlueprintCallbackExecutor(UAgoraBPuIMediaPlayerSourceObserverCBExecutor* Executor);获取事件处理器后,你可以调用该方法绑定回调执行器,用于执行 IMediaPlayerSourceObserver 接口类下的相关回调。
调用时机
调用 GetMediaPlayerSourceObserver 获取事件处理器后。
调用限制
无。
参数
OnAudioVolumeIndication
媒体播放器音量提示回调。
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnAudioVolumeIndication(int volume);详情
SDK 每 200 毫秒触发一次该回调,报告媒体播放器当前的音量。
参数
所属接口类
OnMetaData
报告已获取媒体附属信息。
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnMetaData(const FString& Data);详情
解析媒体附属信息后时,SDK 会触发该回调,报告媒体附属信息的数据类型和具体数据。
参数
所属接口类
OnPlayBufferUpdated
报告当前缓冲数据能播放的时间。
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnPlayBufferUpdated(int64 playCachedBuffer);详情
播放在线媒体资源的过程中,SDK 会每隔 1 秒触发一次该回调,报告当前缓冲的数据能支持的播放时间。
- 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回 PLAYER_EVENT_BUFFER_LOW (6)。
- 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回 PLAYER_EVENT_BUFFER_RECOVER (7)。
参数
所属接口类
OnPlayerEvent
报告播放器的事件。
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnPlayerEvent(EMEDIA_PLAYER_EVENT eventCode, int64 elapsedTime, const FString& message);详情
- 调用 Seek 定位播放后,SDK 会触发该回调,报告定位播放的结果。
参数
| 参数名 | 描述 |
|---|---|
eventCode | 播放器事件,详见 EMEDIA_PLAYER_EVENT。 |
elapsedTime | |
message |
所属接口类
OnPlayerInfoUpdated
媒体播放器相关信息发生改变回调。
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnPlayerInfoUpdated(const FPlayerUpdatedInfo& info);详情
当媒体播放器相关信息发生改变时,SDK 会触发该回调。你可用其进行问题定位和排查。
参数
| 参数名 | 描述 |
|---|---|
info | 媒体播放器相关信息。详见 FPlayerUpdatedInfo。 |
所属接口类
OnPlayerSourceStateChanged
报告播放器状态改变。
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnPlayerSourceStateChanged(EMEDIA_PLAYER_STATE state, FENUMWRAP_MEDIA_PLAYER_REASON ec);详情
当播放器状态改变时,SDK 会触发该回调,报告新的播放状态。
参数
| 参数名 | 描述 |
|---|---|
state | 新的播放状态,详见 EMEDIA_PLAYER_STATE。 |
reason | 播放器状态改变的原因,详见 FENUMWRAP_MEDIA_PLAYER_REASON。 |
所属接口类
OnPlayerSrcInfoChanged
媒体资源视频码率变化回调。
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnPlayerSrcInfoChanged(const FSrcInfo& from, const FSrcInfo& to);参数
所属接口类
OnPositionChanged
报告当前媒体资源的播放进度。
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnPositionChanged(int64 position_ms, int64 timestampMs);详情
播放媒体文件时,SDK 每隔 1 秒会自动触发该回调,报告当前播放进度。
参数
所属接口类
OnPreloadEvent
报告预加载媒体资源的事件。
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnPreloadEvent(const FString& src, EPLAYER_PRELOAD_EVENT event);参数
| 参数名 | 描述 |
|---|---|
src | |
event | 预加载媒体资源时发生的事件。详见 EPLAYER_PRELOAD_EVENT。 |