.首先是assets目录的位置问题,在Eclispe中,这个目录的位置在res/下面,但到了Android Studio中,这个assets目录必须放在跟java和res同级目录下,下面是截图
public void music(){
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
//int mVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); // 获取当前音乐音量
int maxVolume = mAudioManager
.getStreamMaxVolume(AudioManager.STREAM_MUSIC);// 获取最大声音
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, maxVolume, 0); // 设置为最大声音,可通过SeekBar更改音量大小
AssetFileDescriptor fileDescriptor =null;
try {
AssetManager am =this.getAssets();
fileDescriptor = am.openFd("ls.mp3");
MediaPlayer myMediaPlayer = new MediaPlayer();
myMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
myMediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),
fileDescriptor.getStartOffset(),
fileDescriptor.getLength());
myMediaPlayer.prepare();
myMediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
这样就不报读取不到文件的错了