android MediaMetadataRetriever 获取视频宽高及时长例子

此文版权属于作者技术分享所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!

android.media.MediaMetadataRetriever mmr = new android.media.MediaMetadataRetriever();

try {
    if (mUri != null) {
        HashMap<String, String> headers = mHeaders;
        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);

} catch (Exception ex) {
    Log.e(TAG, "MediaMetadataRetriever exception " + ex);
} finally {
    mmr.release();
}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。