引言
MediaMetadataRetriever是Android原生提供的获取音视频文件信息的一个类,我们可以通过这个类的相关方法获取一些基本信息,如视频时长、宽高、帧率、方向、某一帧的图片等。
初始化
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource("");//设置视频路径
获取基本信息
我们可以通过MediaMetadataRetriever的extractMetadata(int keyCode)的方法获取一些视频的基本信息,以下列出一些常用的:
- 获取视频时长
METADATA_KEY_DURATION - 获取视频宽高
METADATA_KEY_VIDEO_WIDTH
METADATA_KEY_VIDEO_HEIGHT - 获取视频方向
METADATA_KEY_VIDEO_ROTATION - 获取视频比特率
METADATA_KEY_BITRATE - 获取视频帧率
METADATA_KEY_CAPTURE_FRAMERATE
获取帧图
可以通过getFrameAtTime(long timeUs)获取某一时刻附近的帧图片;API>=28,可以准确获取帧图片,相关方法getFrameAtIndex(…);获取帧图可以应用在视频封面图、视频裁剪的缩略图等。
结语
MediaMetadataRetriever还是比较常用的,以上只是简略的列出了MediaMetadataRetriever的一些用法,具体可自行查阅源文件。