【已解决】 使用mediaplayer播放音乐抛出异常
public void playOrPause() {
Log.e(TAG,"playOrPause");
if(currentState == PLAY_STATE_STOP)
{
//创建音乐播放器
initMedia();
//设置数据源
try {
String absolutePath = Environment.getExternalStorageDirectory().getAbsolutePath();
Log.e(TAG,absolutePath + "/Music/同桌的你.mp3");
mediaPlayer.setDataSource( absolutePath + "/Music/同桌的你.mp3");
mediaPlayer.prepare();
mediaPlayer.start();
currentState = PLAY_STATE_PLAY;
} catch (IOException e) {
e.printStackTrace();
}
}
java.io.FileNotFoundException: /storage/emulated/0/Music/同桌的你.mp3: open failed: EACCES (Permission denied)
Permission denied 缺少权限内存读取要声明下权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
这个权限要动态获取的
在二楼的基础上用一下请求权限框架,一行代码解决所有权限处理,郭神的PermissionX框架了解一下,简单好用也好看
接二楼的话 路径和文件尽量不要使用中文 会造成很多不必要的麻烦的 (上次我adb个文件进去 就是中文路径 搞不成功)