public void playMusic(String musicName,int musicPo) {
try {
AssetFileDescriptor assetFileDescriptor = getAssets().openFd(musicName);
mPlayer.setDataSource(assetFileDescriptor.getFileDescriptor());
mPlayer.prepare();
mPlayer.start();
currIndex = musicPo;
currStatus =PLAYING;
}catch (IOException e) {
e.printStackTrace()
}
}
报错的原因主要是在于 mPlayer.setDataSource(assetFileDescriptor.getFileDescriptor());使用这句话,调用mPlayer.prepare();就会报错!改成
mPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(),assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());就不会报错了