Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 媒体播放器问题_Android_Android Mediaplayer - Fatal编程技术网

Android 媒体播放器问题

Android 媒体播放器问题,android,android-mediaplayer,Android,Android Mediaplayer,我的Android media player存在严重问题,我似乎无法播放参考资料中原始文件夹中的媒体文件(.mp3)。我有以下代码: private void playSound(String location) { try { Uri mp3 = Uri.parse("android.resource://" + getPackageName() + "/raw/" + location); mediaPlayer = n

我的Android media player存在严重问题,我似乎无法播放参考资料中原始文件夹中的媒体文件(.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和媒体播放器似乎有问题,但我真的需要解决这个问题,到目前为止我还没有运气。以前是否有人遇到过这两个问题中的一个或两个?如果是的话,哪一个有最好的解决方案


谢谢。

这是我的建议。尝试将media player卷
mediaPlayer.setVolume(0.5f,0.5f)
与您的第二个实现结合起来设置。另一个快速建议是,由于我不能100%确定这会解决您的问题,请尝试将第一个实现中的uri更改为此
uri.parse(“android.resource://”+getPackageName()+“/”+R.raw.audioFileToPlay),其中audioFileToPlay是资源id。我现在在另外两台设备上测试了该应用程序,发现运行5.0的Nexus 5是唯一存在这些问题的设备。看起来5.0有问题,你可以使用外部应用程序从应用程序外部播放相同的mp3文件吗?我也是,android5带nexus5错误无法播放背景音乐