Android 获取视频可播放时长

前言

        最近项目开会时,领导提出某视频要求15/20秒的倍数,但不可超过多少分钟需求,但是要求前端实现,然后我也处理了一下,这里记录一下。

        视频获取时长其实官方已经提供其方法,得到的是毫秒,我们只需要对应的计算一下就可以了。

正题:

MediaPlayer playe = new MediaPlayer();//这个是众所周知的不多解释

AssetFileDescriptor afd = getAssets().openFd("test.mp4");//我测试把视频文件放在了assets下,这是获取方式

player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());//把文件的信息配置到MediaPlayer中

player.prepare();//这里需要准备一下了

ok,下面可以得到需要的东西了

double mediaDuration = player.getDuration();//这里得到的是毫秒数

整合一下公式(其实感觉没必要说这些):

总秒数 = 总毫秒数/1000;

分钟数 = 总秒数/60;

秒数 = 总秒数%60;

以下得到结果:

double media_S = (mediaDuration/1000);//总秒数

int media_m = (int)media_ms/60;分钟数

int media_s = (int)media_ms%60;秒数

下面是打印结果:

LogUtils("总毫秒数:"+ mediaDuration +",全部秒数:"+ media_S +" ,"+ media_m +"分"+ media_s+"秒");

如有欠缺或需要修改的地方,欢迎补充

新手勿喷

你可能感兴趣的:(Android 获取视频可播放时长)