使用MediaPlayer播放USB中读取到的MP3音乐文件,遇到java.io.FileNotFoundException异常总结

项目背景:多媒体USB音乐,底层调用MediaPlayer来播放U盘中读取的歌曲,由于最初版本将一首MP3歌曲甜蜜蜜写到了AS的raw目录,直接本地播放,做了一首假数据:即: //临时代码,写死歌曲甜蜜蜜,点击后会播放甜蜜蜜// mMediaPlayer.setDataSource(AudioHelper.getContext(),// Uri.parse("android.resource://"+AudioHel
摘要由CSDN通过智能技术生成

项目背景:
多媒体USB音乐,底层调用MediaPlayer来播放U盘中读取的歌曲,由于最初版本将一首MP3歌曲甜蜜蜜写到了AS的raw目录,直接本地播放,做了一首假数据:
即:

            //临时代码,写死歌曲甜蜜蜜,点击后会播放甜蜜蜜
//            mMediaPlayer.setDataSource(AudioHelper.getContext(),
//                    Uri.parse("android.resource://"+AudioHelper.getContext().getPackageName()+"/"+R.raw.tianmimi));

实现了播放,一开始设备没有喇叭。后来发现这组临时代码没有删除,点击播放真正在播放的USB歌曲,UI刷新的没问题,但实际播放的歌曲都是这个甜蜜蜜。
于是根据从USB中读取到的歌曲文件的URL,还是使用MediaPlayer来播放歌曲,即:

            mMediaPlayer.setDataSource(audioBean.mUrl);//设置播放文件

这里的audioBean是我写的一个歌曲实体类的对象。

这个时候大问题来了,就是本文总结的问题,发现改完代码后点击界面所有的播放暂停、上一首、下一首、歌曲列表点击均无效,无法播放歌曲了,UI也不刷新。

解决问题的步骤总结:
(1)先排查问题,既然本地AS的歌曲能够播放出声音,问题大概率出现在现在更改的位置,初步确定。
(2)开始在对应的代码块重要位置加LOG,运行,点击排查。最后发现捕获了异常,mMediaPlayer.setDataSource方法有报错,之后的方法不执行。
即:
在这里插入图片描述异常信息的LOG:
在这里插入图片描述

异常信息java.io.FileNotFoundException: /mnt/media_rw
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值