Android 播放raw文件夹下音频文件,本地MP3文件播放,播放云端MP3文件,获取MP3文件播放时长
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文件播放时长相关推荐
- 统计文件夹下音频文件时长
统计音频文件时长 功能 代码 主要分析 提取文件的音频时长 读取文件夹下的所有文件的绝对路径 写这个主要是为了能更好的安排自己的学习时间,学习视频的时长很难直观的看总和时间,导致安排的时间没有很好的规 ...
- python遍历一个文件夹下所有excel,读取所有sheet页,然后写入另一个文件夹下对应模板的excel中
本来想直接写入,但是我们的excel报表太麻烦了,里面表头有多处要求合并的,用python去写太要命了,想了下,设置一堆空的excel模板,这样只需要把原文件的数据读出来就可以了,简单多了 #读取文件 ...
- DbVisualizer 数据库连接工具:添加数据库驱动方法。dbvis搜索不到驱动文件夹下的驱动解决方法
它默认会扫描指定文件夹下的所有驱动,但是有时候即使你放到它的驱动文件夹里也不一定能扫出来. 原因有很多种,比如不是常规驱动,或者版本问题等等.这种情况下一般我们都手动添加驱动. 步骤一: 点击 too ...
- vba ado返回集合_利用ADO,实现同一文件夹下多个EXCEL工作表的数据汇总
大家好,今天继续讲解<VBA数据库解决方案>,今日讲解的是第37讲,利用ADO,实现同一文件夹下多个EXCEL工作表的数据汇总.最近的内容实用性比较强,如今日的内容,只把需要汇总的EXCE ...
- vb怎样同时打开2个excel工作簿_【赠书】不打开工作簿也能批量合并不同文件夹下多个表格的数据...
最近推送的五篇文章: <偷懒的技术:打造财务Excel达人>到底有多畅销? <偷懒的技术2>推荐序:未来已来,你准备好了吗? 将"偷懒"进行到底,还在到处找 ...
- Windows下快速获取一个文件夹下所有文件的名称列表
Windows下快速获取一个文件夹下所有文件的名称列表 进入windows终端:win+R 输入cmd,回车 使用cd命令进入到目标文件夹.例如: 先进入D盘,输入d: 回车, 然后 cd openc ...
- 【数据集处理】Python 将图片名字中含有某一字符串的图片存到指定文件夹下
目的: 某一个文件下存放的是各种各样所有的图片,希望把这些图片进行分类.比如:将图片名字中含有绝缘子自爆的图片放在绝缘子自爆的文件夹下.将图片名字中含有树枝的图片放在树枝的文件夹下. 一.将含有某一个 ...
- 复制当前目录所有文件夹及其子文件夹下的*.jpg文件到store文件夹下
1.复制当前目录所有文件夹及其子文件夹下的.jpg文件到store文件夹下 2.不论多少层目录结构都可以 3.更改文件后缀名.jpg为其它后缀名的文件同样适用 #!/bin/bash # yikai ...
- python如何顺序读取文件夹下的图片及文件
获取文件夹下文件 os.listdir() :用于返回指定的文件夹包含的文件或文件夹的名字的列表.得到的是仅当前路径下的文件名,不包括子目录中的文件,所有需要使用递归的方法得到全部文件名. 但是返回 ...
最新文章
- 怎么修改CSDN上传图片水印的字体大小?(去水印)
- HTTP请求返回状态码和提示信息
- djongo mysql 回滚_django事物回滚
- [转贴]电视和显示器的相关语言
- 斗地主AI算法——第二章の数据结构
- APP 上传之后出现invalid binary 问题解决汇总
- webpack前端工程打包入门级教程
- type(img).__module__ == np.__name__
- 简单的豆瓣电影推荐系统demo
- 李宏毅机器学习笔记第5周_逻辑回归
- 达梦数据库DCA培训总结
- 电流(或电压)的平均值与有效值
- 软件测试工具大全(这可能是目前为止最全的测试工具集合)
- AI 场景存储优化:云知声超算平台基于 JuiceFS 的存储实践
- 测试象棋水平用哪个软件好,最新象棋软件作弊名单公布,软件测试员都被封,哪些网络象棋主播...
- vue 子组件与父组件运行的顺序
- Ubuntu Desktop LTS - 文件完整路径
- “面子”真的那么重要吗?——2017过年返乡见闻与思考
- Makerdown小白使用指南
- word排版技巧:这几种特殊版式轻松搞定