Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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
Java MediaPlayer不播放手机中的音频文件_Java_Android - Fatal编程技术网

Java MediaPlayer不播放手机中的音频文件

Java MediaPlayer不播放手机中的音频文件,java,android,Java,Android,我想播放手机中的mp3文件,但有例外。我尝试了许多解决方案,但都不奏效。有人能说出我的代码有什么问题吗 pathToFile=/storage/emulated/0/Download/cw200_pod.mp3 mediaPlayer = new MediaPlayer(); try { mediaPlayer.setDataSource(pathToFile); mediaPlayer.prepareAsync(); mediaPlayer.setOnPrepared

我想播放手机中的mp3文件,但有例外。我尝试了许多解决方案,但都不奏效。有人能说出我的代码有什么问题吗

pathToFile=/storage/emulated/0/Download/cw200_pod.mp3

mediaPlayer = new MediaPlayer();

try {
    mediaPlayer.setDataSource(pathToFile);
    mediaPlayer.prepareAsync();
    mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mediaPlayer) {
            mediaPlayer.start();
        }
    });
} catch (IOException e) {
    throw new IllegalStateException(e.getMessage());
}
我的清单权限

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />

将声音放在res/raw文件夹中

final MediaPlayer mp = MediaPlayer.create(this, R.raw.sound);

Button play_button = (Button)this.findViewById(R.id.button);
play_button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        Log.v(TAG, "Playing sound...");
        mp.start();
    }
});

还有别的解决办法吗?因为我的应用程序就像mp3播放器,所以我需要能够在用户的手机中播放任何音频文件,而不仅仅是在原始文件夹中
final MediaPlayer mp = MediaPlayer.create(this, R.raw.sound);

Button play_button = (Button)this.findViewById(R.id.button);
play_button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        Log.v(TAG, "Playing sound...");
        mp.start();
    }
});