音视频观测器
registerAudioFrameObserver
注册音频帧观测器。
int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode);
参数
参数名 | 描述 |
---|---|
audioFrameObserver | 音频帧观测器,观测每帧音频的接收,详见 |
mode | 音频帧的使用模式:
|
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
registerPlayerObserver
注册一个播放观测器。
int registerPlayerObserver(IMediaPlayerObserver playerObserver);
参数
参数名 | 描述 |
---|---|
playerObserver | 播放观测器,报告播放中的事件,详见 |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
registerVideoFrameObserver
注册视频帧观测器。
int registerVideoFrameObserver(IMediaPlayerVideoFrameObserver videoFrameObserver);
你需要在该方法中实现一个 IMediaPlayerVideoFrameObserver
类,并根据场景需要,注册该类的回调。成功注册视频帧观测器后,SDK 会在捕捉到每个视频帧时,触发你所注册的回调。
参数
参数名 | 描述 |
---|---|
videoFrameObserver | 视频帧观测器,观测每帧视频的接收。详见 |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
unRegisterPlayerObserver
onAudioVolumeIndication
媒体播放器音量提示回调。
void onAudioVolumeIndication(int volume);
SDK 每 200 毫秒触发一次该回调,报告媒体播放器当前的音量。
参数
参数名 | 描述 |
---|---|
volume | 播放器的当前音量,取值范围为 [0,255]。 |
onMetaData
报告已获取媒体附属信息。
void onMetaData(Constants.MediaPlayerMetadataType type, byte[] data);
解析媒体附属信息后时,SDK 会触发该回调,报告媒体附属信息的数据类型和具体数据。
参数
参数名 | 描述 |
---|---|
type | 媒体附属信息数据类型,详见 |
data | 具体数据,用户自定义格式的数据。 |
onPlayBufferUpdated
报告当前缓冲数据能播放的时间。
void onPlayBufferUpdated(long playCachedBuffer);
播放在线媒体资源的过程中,SDK 会每隔 1 秒触发一次该回调,报告当前缓冲的数据能支持的播放时间。
-
当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回
PLAYER_EVENT_BUFFER_LOW
。 -
当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回
PLAYER_EVENT_BUFFER_RECOVER
。
参数
参数名 | 描述 |
---|---|
playCachedBuffer | 当前缓冲的数据能支持的播放时间 (毫秒)。 |
onPlayerEvent
报告播放器的事件。
void onPlayerEvent(Constants.MediaPlayerEvent eventCode, long elapsedTime, String message);
- 调用
seek
定位播放后,SDK 会触发该回调,报告定位播放的结果。
参数
参数名 | 描述 |
---|---|
eventCode | 播放器事件,详见 |
elapsedTime | 发生事件的时间 (毫秒)。 |
message | 事件的信息。 |
onPlayerInfoUpdated
媒体播放器相关信息发生改变回调。
void onPlayerInfoUpdated(PlayerUpdatedInfo info);
当媒体播放器相关信息发生改变时,SDK 会触发该回调。你可用其进行问题定位和排查。
参数
参数名 | 描述 |
---|---|
info | 媒体播放器相关信息。详见 |
onPlayerStateChanged
报告播放器状态改变。
void onPlayerStateChanged(Constants.MediaPlayerState state, Constants.MediaPlayerError error);
当播放器状态改变时,SDK 会触发该回调,报告新的播放状态。
参数
参数名 | 描述 |
---|---|
state | 新的播放状态,详见 |
error | 播放器错误码,详见 |
onPlayerSrcInfoChanged
onPositionChanged
报告当前播放进度。
void onPositionChanged(long position);
播放媒体文件时,SDK 每隔 1 秒会自动触发该回调,报告当前播放进度。
参数
参数名 | 描述 |
---|---|
position | 当前播放进度,单位为 ms。 |
onPreloadEvent
报告预加载媒体资源的事件。
void onPreloadEvent(String src, Constants.MediaPlayerPreloadEvent event);
参数
参数名 | 描述 |
---|---|
src | 媒体资源的路径。 |
event | 预加载媒体资源时发生的事件。详见 |
onReadData
读取媒体资源数据回调。
int onReadData(ByteBuffer buffer, int bufferSize);
使用 openWithMediaSource
打开自定义媒体资源时,SDK 会触发该回调,向你请求定位到媒体资源中的指定位置。
参数
参数名 | 描述 |
---|---|
buffer | 输入参数,数据 Buffer,单位为字节。请将 SDK 报告的 |
bufferSize | 数据 Buffer 的长度,单位为字节。 |
返回值
-
如果读取数据成功,请在返回值中传入你实际读取的数据长度,单位为字节。
-
如果读取数据失败,请在返回值中传入 0。