【已解决】 使用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"/>
这个权限要动态获取的
if (ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(MainActivity.this, new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 1); } else{ }在二楼的基础上用一下请求权限框架,一行代码解决所有权限处理,郭神的PermissionX框架了解一下,简单好用也好看
接二楼的话 路径和文件尽量不要使用中文 会造成很多不必要的麻烦的 (上次我adb个文件进去 就是中文路径 搞不成功)