1、复制音频文件到raw文件夹下

2、实例化音频文件

private final MediaPlayer.OnCompletionListener beepListener = new MediaPlayer.OnCompletionListener() { // 声音public void onCompletion(MediaPlayer mediaPlayer) {mediaPlayer.seekTo(0);}
};
private static final float BEEP_VOLUME = 9.10f;
private MediaPlayer mediaPlayer;
private void initBeepSound() {if ( mediaPlayer == null) {// The volume on STREAM_SYSTEM is not adjustable, and users found it// too loud,// so we now play on the music stream.mediaPlayer = new MediaPlayer();mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaPlayer.setOnCompletionListener(beepListener);AssetFileDescriptor file = getResources().openRawResourceFd(R.raw.sou);try {mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength());file.close();mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME);mediaPlayer.prepare();} catch (IOException e) {mediaPlayer = null;}}
}

3、开始播放

mediaPlayer.start();

2、播放云端MP3文件

1、添加音频播放器依赖

//exoplayer播放器
implementation 'com.google.android.exoplayer:exoplayer:2.8.4'
// 视频缓存
implementation 'com.danikula:videocache:2.7.0'
implementation 'org.greenrobot:greendao:3.2.2'

2、播放云端MP3——文件链接

PlayerView mExoPlay;
private SimpleExoPlayerHelper mMySimpleExoPlayer;private List<String> mVideoSourseList = new ArrayList<>();
btn_downMP3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String vds = "https://gzlxcdg.https.xiaozhuschool.com/public/uploads/video/20200504/fa530b8ae53f8d2e7698ea0fb22d22d5.mp4";String urlStr = "http://zsxyylsb.app.xiaozhuschool.com/public/uploads/imgs/20200902/b04b350875d486b6957973bf7ea56dfc.mp3";if (!mVideoSourseList.isEmpty()) {mVideoSourseList.clear();}mVideoSourseList.add(urlStr);mVideoSourseList.add(vds);mMySimpleExoPlayer.prepare(mVideoSourseList);mMySimpleExoPlayer.setRepeatMode(SimpleExoPlayerHelper.RepeatMode.REPEAT_MODE_OFF);mMySimpleExoPlayer.start();//播放云MP3}
});

3、播文件夹里面的MP3文件

MediaPlayer medPlay;
medPlay=MediaPlayer.create(this,Uri.parse("/storage/emulated/0/data/cn.dlc.xiaoyao/msc1/海洋第一集.mp3"));

开始

medPlay.start();

暂停

medPlay.pause();

重新开始

medPlay.stop();
medPlay=MediaPlayer.create(MainActivity.this,Uri.parse("/storage/emulated/0/data/cn.dlc.xiaoyao/msc1/海洋第二集.mp3"));medPlay.start();

4、获取MP3文件播放时长

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) {LogPlus.i("lgq", ioException.getMessage());}if (mediaPlayer != null) {mediaPlayer.stop();mediaPlayer.reset();mediaPlayer.release();}return mediaPlayerDuration;
}

时长转为分钟,秒数显示

int fz = (int)(getAudioFileVoiceTime(files[i].getPath())/1000)/60;
LogPlus.d("lgq==fz ==="+fz+"。。。。余数==="+(getAudioFileVoiceTime(files[i].getPath())/1000)%60);

实现demo: https://download.csdn.net/download/meixi_android/12821205

Android 播放raw文件夹下音频文件,本地MP3文件播放,播放云端MP3文件,获取MP3文件播放时长相关推荐

  1. 统计文件夹下音频文件时长

    统计音频文件时长 功能 代码 主要分析 提取文件的音频时长 读取文件夹下的所有文件的绝对路径 写这个主要是为了能更好的安排自己的学习时间,学习视频的时长很难直观的看总和时间,导致安排的时间没有很好的规 ...

  2. python遍历一个文件夹下所有excel,读取所有sheet页,然后写入另一个文件夹下对应模板的excel中

    本来想直接写入,但是我们的excel报表太麻烦了,里面表头有多处要求合并的,用python去写太要命了,想了下,设置一堆空的excel模板,这样只需要把原文件的数据读出来就可以了,简单多了 #读取文件 ...

  3. DbVisualizer 数据库连接工具:添加数据库驱动方法。dbvis搜索不到驱动文件夹下的驱动解决方法

    它默认会扫描指定文件夹下的所有驱动,但是有时候即使你放到它的驱动文件夹里也不一定能扫出来. 原因有很多种,比如不是常规驱动,或者版本问题等等.这种情况下一般我们都手动添加驱动. 步骤一: 点击 too ...

  4. vba ado返回集合_利用ADO,实现同一文件夹下多个EXCEL工作表的数据汇总

    大家好,今天继续讲解<VBA数据库解决方案>,今日讲解的是第37讲,利用ADO,实现同一文件夹下多个EXCEL工作表的数据汇总.最近的内容实用性比较强,如今日的内容,只把需要汇总的EXCE ...

  5. vb怎样同时打开2个excel工作簿_【赠书】不打开工作簿也能批量合并不同文件夹下多个表格的数据...

    最近推送的五篇文章: <偷懒的技术:打造财务Excel达人>到底有多畅销? <偷懒的技术2>推荐序:未来已来,你准备好了吗? 将"偷懒"进行到底,还在到处找 ...

  6. Windows下快速获取一个文件夹下所有文件的名称列表

    Windows下快速获取一个文件夹下所有文件的名称列表 进入windows终端:win+R 输入cmd,回车 使用cd命令进入到目标文件夹.例如: 先进入D盘,输入d: 回车, 然后 cd openc ...

  7. 【数据集处理】Python 将图片名字中含有某一字符串的图片存到指定文件夹下

    目的: 某一个文件下存放的是各种各样所有的图片,希望把这些图片进行分类.比如:将图片名字中含有绝缘子自爆的图片放在绝缘子自爆的文件夹下.将图片名字中含有树枝的图片放在树枝的文件夹下. 一.将含有某一个 ...

  8. 复制当前目录所有文件夹及其子文件夹下的*.jpg文件到store文件夹下

    1.复制当前目录所有文件夹及其子文件夹下的.jpg文件到store文件夹下 2.不论多少层目录结构都可以 3.更改文件后缀名.jpg为其它后缀名的文件同样适用 #!/bin/bash # yikai ...

  9. python如何顺序读取文件夹下的图片及文件

    获取文件夹下文件 os.listdir()  :用于返回指定的文件夹包含的文件或文件夹的名字的列表.得到的是仅当前路径下的文件名,不包括子目录中的文件,所有需要使用递归的方法得到全部文件名. 但是返回 ...

最新文章

  1. 怎么修改CSDN上传图片水印的字体大小?(去水印)
  2. HTTP请求返回状态码和提示信息
  3. djongo mysql 回滚_django事物回滚
  4. [转贴]电视和显示器的相关语言
  5. 斗地主AI算法——第二章の数据结构
  6. APP 上传之后出现invalid binary 问题解决汇总
  7. webpack前端工程打包入门级教程
  8. type(img).__module__ == np.__name__
  9. 简单的豆瓣电影推荐系统demo
  10. 李宏毅机器学习笔记第5周_逻辑回归
  11. 达梦数据库DCA培训总结
  12. 电流(或电压)的平均值与有效值
  13. 软件测试工具大全(这可能是目前为止最全的测试工具集合)
  14. AI 场景存储优化:云知声超算平台基于 JuiceFS 的存储实践
  15. 测试象棋水平用哪个软件好,最新象棋软件作弊名单公布,软件测试员都被封,哪些网络象棋主播...
  16. vue 子组件与父组件运行的顺序
  17. Ubuntu Desktop LTS - 文件完整路径
  18. “面子”真的那么重要吗?——2017过年返乡见闻与思考
  19. Makerdown小白使用指南
  20. word排版技巧:这几种特殊版式轻松搞定

热门文章

  1. [vue] 如果现在让你从vue/react/angularjs三个中选择一个,你会选哪个?说说你的理由
  2. 前端学习(2863):简单秒杀系统学习之优化cookie
  3. 前端学习(2346):global全局样式布局
  4. spring学习(44):p名称空间注入
  5. 第七十期:IT技术人员的自我修养
  6. 深度学习--Matlab使用LSTM长短期记忆网络对负荷进行分类
  7. JS之字符串连接方法join
  8. Vue基础之Vue模板语法
  9. CS144 计算机网络实验 lab3 笔记
  10. 特征工程之数据预处理(上)