2015-11-18 42 views
0

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

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

String recVideoPath = Environment.getExternalStorageDirectory() + videoRecordedFileName; 

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

谢谢!

回答

3

你可以得到一个视频的时间是这样的:

MediaPlayer mp = MediaPlayer.create(this, Uri.parse(uriOfFile)); 
int duration = mp.getDuration(); 

,分辨率是这样的:

MediaMetadataRetriever retriever = new MediaMetadataRetriever(); 
retriever.setDataSource(uriOfFile); 
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的字符串。

+0

谢谢! mp应该释放,否则会发生错误。所以我添加mp.release() – HelloCW

相关问题