今天在嘗試使用MediaPlayer播放音樂時出了一個問題,在使用 這行代碼為MediaPlayer設置要播放的音樂地址時,代碼執行到這一行總是會報錯,錯誤信息為:setDataSource failed 一下子就懵逼了,為何會failed沒說啊,在網上查了些資料各種嘗試後沒什麼用,後來改用其中的一 ...
今天在嘗試使用MediaPlayer播放音樂時出了一個問題,在使用
mp.setDataSource(this,Uri.parse("/sdcard/Music/adele.mp3"));
這行代碼為MediaPlayer設置要播放的音樂地址時,代碼執行到這一行總是會報錯,錯誤信息為:setDataSource failed
一下子就懵逼了,為何會failed沒說啊,在網上查了些資料各種嘗試後沒什麼用,後來改用其中的一個重載方法setDataSource(FileDescription fileDescription)終於給出了一個像樣的錯誤信息: open failed: EACCES (Permission denied)
有了這個後就好解決了,於是用百毒搜了下,在這篇文章(傳送門)里找到了答案:由於我是要播放sd卡中的音樂,所以需要寫sd卡許可權(為何播放音樂需要寫許可權?),需要在清單文件裡面添加如下許可權即可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
切記切記~