Android之通过文件绝对路径获取音视频的时长和视频的缩略图

1 需求

遍历一个文件夹,需要获取音视频的时长和视频的第一帧图像

2 关键代码实现

获取本地音视频的时长(这里计算出来的是秒为单位),如果文件不是音视频,下面的函数会发生异常,也就是返回0,我们除了通过文件头来判断这个文件是音视频之后,然后再获取这个文件的时长,如果下面的函数时长返回大于0,说明这个文件是音视频文件。

    /**
     * get Local video and audio duration
     *
     * @return
     */
    public static int getLocalVideoDuration(String videoPath) {
		//时长(毫秒)
        int duration;
        try {
            MediaMetadataRetriever mmr = new  MediaMetadataRetriever();
            mmr.setDataSource(videoPath);
            duration = Integer.parseInt(mmr.extractMetadata
                    (MediaMetadataRetriever.METADATA_KEY_DURATION))/1000;
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
        }
        return duration;
    }

然后我们如果发现文件的

猜你喜欢

转载自blog.csdn.net/u011068702/article/details/108762237