ijkplayer在代码中监听第一帧画面播放时间
时间: 2024-05-09 16:21:15 浏览: 9
ijkplayer提供了一个回调函数`setOnPreparedListener`,可以在视频准备完毕后获取第一帧的播放时间。具体实现代码如下:
```java
// 初始化ijkplayer
IjkMediaPlayer ijkMediaPlayer = new IjkMediaPlayer();
ijkMediaPlayer.setDataSource("your_video_url");
SurfaceView surfaceView = findViewById(R.id.surface_view);
IjkSurfaceView ijkSurfaceView = new IjkSurfaceView(this);
surfaceView.addView(ijkSurfaceView);
ijkMediaPlayer.setDisplay(ijkSurfaceView.getHolder());
// 设置监听器
ijkMediaPlayer.setOnPreparedListener(new IMediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(IMediaPlayer iMediaPlayer) {
long firstFrameTime = iMediaPlayer.getVideoInfo().getFirstVideoFrameTime();
Log.d(TAG, "First frame time: " + firstFrameTime);
}
});
// 开始播放
ijkMediaPlayer.prepareAsync();
```
在上面的代码中,我们通过回调函数`setOnPreparedListener`设置了一个准备完成的监听器,在回调函数中获取了第一帧的播放时间,并输出到logcat中。