我希望获得视频(.mp4)视频文件的持续时间和分辨率,如何在Android中以编程方式执行此操作?我的minSdkVersion是21。
顺便说一句,我可以使用以下代码获取视频的文件大小。
String recVideoPath = Environment.getExternalStorageDirectory() + videoRecordedFileName;
File file = new File(recVideoPath);
long fileVideo = file.length();
谢谢!
答案 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。