Android 如何在Exoplayer中连续获取特定位置的视频帧
我用这个例子来检索视频帧。是否有任何方法可以连续获取视频帧,但这不是一个合适的示例。Android 如何在Exoplayer中连续获取特定位置的视频帧,android,frame,preview,exoplayer,Android,Frame,Preview,Exoplayer,我用这个例子来检索视频帧。是否有任何方法可以连续获取视频帧,但这不是一个合适的示例。 此方法应能实现以下目的: public static Bitmap getVideoFrame(Context context, Uri uri, long time) { Bitmap bitmap = null; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { retr
此方法应能实现以下目的:
public static Bitmap getVideoFrame(Context context, Uri uri, long time) {
Bitmap bitmap = null;
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try {
retriever.setDataSource(context, uri);
bitmap = retriever.getFrameAtTime(time);
} catch (RuntimeException ex) {
ex.printStackTrace();
} finally {
try {
retriever.release();
} catch (RuntimeException ex) {
ex.printStackTrace();
}
}
return bitmap;
}
希望这有帮助。根据的答案
您的意思是要以编程方式提取某些帧的图像吗?我想在以编程方式搜索seekbar时,在图像视图中显示类似视频的图像帧。它将返回null?
exoPlayer.setVideoFrameMetadataListener((presentationTimeUs, releaseTimeNs, format, mediaFormat) -> currentFrame = getVideoFrame(getContext(), Uri.parse(data.path), presentationTimeUs));