Android获取mp3音频文件播放总时长

一般是需要文件的绝对路径,需要读取文件,转成媒体类解析,最好获取播放时长,然后关闭资源。
/**
* 获取音频文件的总时长大小
*
* @param filePath 音频文件路径
* @return 返回时长大小
*/
public long getAudioFileVoiceTime(String filePath) {
long mediaPlayerDuration = 0L;
if (filePath == null || filePath.isEmpty()) {
return 0;
}
MediaPlayer mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(filePath);
mediaPlayer.prepare();
mediaPlayerDuration = mediaPlayer.getDuration();
} catch (IOException ioException) {
LogUtil.i(TAG, ioException.getMessage());
}
if (mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.reset();
mediaPlayer.release();
}
return mediaPlayerDuration;
}

还有就是资源文件,读取方式不一样,后面的流程是一样的。
/**
* 获取音频文件的总时长大小
*
* @param rawId raw资源文件ID
* @return 返回时长大小
*/
public long getRawFileVoiceTime(int rawId) {
long mediaPlayerDuration = 0L;
MediaPlayer mediaPlayer = new MediaPlayer();
try {
Uri uri = Uri.parse("android.resource://"+getContext().getPackageName()+"/"+ rawId);
mediaPlayer.setDataSource(BaseApplication.getContext(), uri);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();
mediaPlayerDuration = mediaPlayer.getDuration();
} catch (Exception exception) {
LogUtil.i(TAG, exception.getMessage());
}
if (mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.reset();
mediaPlayer.release();
}
return mediaPlayerDuration;
}

Android获取mp3音频文件播放总时长相关推荐

  1. 用Python的mutagen模块获取MP3音频文件的时长

    工作中碰到的需求,今天下午虽然解决了,但是不太简洁(本质上还是用的mutagen...),回家查了查试了试,用mutagen可以很容易获取MP3音频文件的长度, 一共三行代码 from mutagen ...

  2. Praat脚本-007 | 计算目录里音频或者TextGrid总时长

    目录 引出 简便操作 脚本 脚本说明 运行脚本 如何获取脚本 关注 版权说明 引出 统计录音时长,是大家经常用到的一个功能,统计的方法有很多,这里小编只介绍两种,一种是在win10系统中的资源管理器中 ...

  3. android 获取手机中应用运行的时长和次数

    android5.0用UsageStatsManager来获取程序运行时间 本来想用PkgUsageStats来获取的,后来看到有人说5.0以后可以直接用UsageStatsManager来获取信息, ...

  4. Python获取mp3音频文件时长方法汇总

    '''pymediainfo: pip3 install pymediainfo 版本:5.1.0不支持网络音频 ''' class pymediainfoTest():@classmethoddef ...

  5. 获取MP3音频时长 | Java工具类

    获取mp3格式音频时长. Maven依赖 <dependency><groupId>org</groupId><artifactId>jaudiotag ...

  6. windows 7 下,如何统计某文件夹下 视频总时长

    由于项目需要,我需要给系统加权限,这真是一个让人头疼的问题,如果要每个业务方法都加上权限判断逻辑,那真的不敢想象是多么大的工作量,日后有变动的话,我会不会发疯? 所以我必须利用之前学到的AOP编程,在 ...

  7. php 获取视频首帧,PHP获取视频的第一帧与时长

    //获得视频文件的缩略图 function getVideoCover($file,$time,$name) { if(empty($time))$time = '1';//默认截取第一秒第一帧 $s ...

  8. html5如何获取音频资源6,【已解决】如何从喜马拉雅的页面中获取到mp3音频文件...

    alex想要: 中的mp3音频文件 经过研究直接获取到m4a的音频文件 保存下来即可转出mp3文件 详细操作过程: 打开 开发者工具 后,总体过程是: 详细说是: 1.切换到Network 2.输入网 ...

  9. JS获取音频的总时长,解决Audio元素duration为NaN || Infinity 问题

    当我们在加载一个线上mp3地址或者获取audio的duration的时候,会发现有拿到duration是Infinity的情况,这时如果我们动态的展示录音时间时候就会有问题.首先明确一下这是chrom ...

最新文章

  1. 惠普打印机节能环保认证证书_爱普生和惠普家用打印机哪款好 爱普生和惠普家用打印机对比【区别】...
  2. Interview:算法岗位面试—10.15下午—上海某公司算法岗位(偏机器学习,合资制造行业)技术面试考点之电话面试—研究项目的技术考察
  3. boost::math模块使用正态分布的示例
  4. 请求发起过程,在tcp/ip四层网络模型中所做的事情
  5. tez安装官方文档整理+翻译
  6. SQLServer格式化时间
  7. java 异常处理线程_转:Java子线程中的异常处理(通用)
  8. rust笔记7 rust中的包管理
  9. python如何下载包_怎么在python中下载包
  10. MapReduce实操5-1数据预处理——巴西利亚历史气温数据分析
  11. 阿里云IoT工业数据上云优化实践
  12. 银河英雄传说旗舰名称考证—帝国军
  13. matlab 图片倒影_matlab-画个拱桥和倒影?
  14. Twitter 没有在美国总统竞选期间宕机
  15. 为什么新一代的程序员连操作系统的基本知识都不懂?
  16. 法语的小舌音哪个比较难学
  17. 阿里云OCR通用文字识别和自定义模板OCR识别Python代码及一站式教程
  18. c语言 signal作用,C语言中的signal函数
  19. java卸载不了_java卸载不了怎么处理?卸载时总出现这个
  20. 没想到,错误的单例写法,让 RabbitMQ 大量超时导致程序挂死!

热门文章

  1. 调度过磅结算计算机系统,基于规则引擎的生产企业原材料过磅结算系统的研究与应用...
  2. 金蝶K3,单据关系表查询
  3. java代码画直角三角形,等腰三角形
  4. 2010年6月10日俱乐部北京活动,“如何做研发人员绩效管理?”主题研讨活动
  5. 基于eBPF的Linux沙盒文件系统SandFS
  6. python参考手册小说_python实现小说阅读器
  7. [软件工程导论(第六版)]第9章 面向对象方法学引论(课后习题详解)
  8. Error:Kotlin: Module was compiled with an incompatible version of Kotlin...
  9. C语言十字消除游戏(超简单详细),详细思路+源码分享
  10. 转换工具的开发:AV转MP4文件