android获取mp4视频文件总时长和视频宽高
16lz
2021-01-24
android使用MediaMetadataRetriever 获取视频文件的 总时长 和视频的分辨率。
根据该方式获取视频信息可以看出不仅仅可以获取时长和分辨率,还能获取到其他的一些视频信息,不错还是很强大的,不用自己去解析mp4文件了。此demo只是获取的mp4文件,其他的多媒体文件也可以获取到相应信息,比如mp3;
private void getPlayTime(String mUri) { android.media.MediaMetadataRetriever mmr = new android.media.MediaMetadataRetriever(); try { if (mUri != null) { HashMap<String, String> headers = null; if (headers == null) { headers = new HashMap<String, String>(); headers.put("User-Agent", "Mozilla/5.0 (Linux; U; Android 4.4.2; zh-CN; MW-KW-001 Build/JRO03C) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/1.0.0.001 U4/0.8.0 Mobile Safari/533.1"); } mmr.setDataSource(mUri, headers); } else { //mmr.setDataSource(mFD, mOffset, mLength); } String duration = mmr.extractMetadata(android.media.MediaMetadataRetriever.METADATA_KEY_DURATION);//时长(毫秒) String width = mmr.extractMetadata(android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);//宽 String height = mmr.extractMetadata(android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT);//高 Toast.makeText(MainActivity.this, "playtime:"+ duration+"w="+width+"h="+height, Toast.LENGTH_SHORT).show(); } catch (Exception ex) { Log.e("TAG", "MediaMetadataRetriever exception " + ex); } finally { mmr.release(); } }
转载地址:http://blog.csdn.net/lzy0168/article/details/43566731(作者好像不让转。。。)
更多相关文章
- Android(安卓)读取jar包中assets资源文件
- 【Android(安卓)修炼手册】Gradle 篇 -- Android(安卓)Gradle Pl
- Cocos2dx发布Android包,配置开发环境(菜鸟级入门,一看就会)
- Android(安卓)ndk入门准备--hello jni
- Android(安卓)AppShortcuts 桌面启动图标长安弹出框 类似支付宝
- Android(安卓)VideoView播放网络视频
- 在 Android(安卓)中使用依赖注入 | AndroidDevSummit 中文字幕视
- Cocos2d-x学习之创建Android工程和编译
- Android用户界面开发(11):Menu