我有Android媒体播放器的主要问题,我似乎无法从资源中的原始文件夹播放媒体文件(.mp3) . 我有以下代码:

private void playSound(String location) {
    try {
        Uri mp3 = Uri.parse("android.resource://" + getPackageName()
                + "/raw/" + location);
        mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mediaPlayer.setDataSource(MainActivity.this, mp3);
        mediaPlayer.setOnPreparedListener(new OnPreparedListener() {

            @Override
            public void onPrepared(MediaPlayer mp) {
                // TODO Auto-generated method stub
                mp.start();
            }
        });
        mediaPlayer.prepareAsync();

    } catch (IllegalArgumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SecurityException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

每次我尝试运行此代码时,我都会在log cat中获得以下内容:

11-26 21:28:55.196: E/MediaPlayer(19441): error (1, -2147483648)
11-26 21:28:55.200: E/MediaPlayer(19441): Error (1,-2147483648)

我也尝试了以下代码:

mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.mp3);
mediaPlayer.start();

但是每次运行该代码时,都会出现以下错误:

11-26 21:33:26.765: E/MediaPlayer(19813): Should have subtitle controller already set

我已经调查了这个,似乎Android 5.0和媒体播放器存在问题,但我真的需要一个解决这个问题的方法,到目前为止我没有运气 . 有没有人遇到过这些问题中的一个或两个?如果有,哪个有最佳解决方案?

谢谢 .