Java MediaPlayer不播放手机中的音频文件
我想播放手机中的mp3文件,但有例外。我尝试了许多解决方案,但都不奏效。有人能说出我的代码有什么问题吗 pathToFile=/storage/emulated/0/Download/cw200_pod.mp3Java 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
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();
}
});