如何在Android中以编程方式获取视频文件的持续时间和分辨率?

时间:2015-11-18 01:21:24

标签: android

我希望获得视频(.mp4)视频文件的持续时间和分辨率,如何在Android中以编程方式执行此操作?我的minSdkVersion是21。

顺便说一句,我可以使用以下代码获取视频的文件大小。

String recVideoPath = Environment.getExternalStorageDirectory() + videoRecordedFileName;

File file = new File(recVideoPath);
long fileVideo = file.length();

谢谢!

1 个答案:

答案 0 :(得分:9)

要获得持续时间和分辨率MediaMetadataRetriever,可以使用:

MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(uriOfFile);
long duration = Long.parseLong(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION))
int width = Integer.valueOf(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH));
int height = Integer.valueOf(retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT));
retriever.release();

uriOfFile是一个带有你的网址的字符串mp4。