MediaPlayer mediaPlayer = null;
System.out.println("---播放assest的资源文件----");
AssetManager assetManager = this.getAssets();
try {
AssetFileDescriptor fileDescriptor = assetManager
.openFd("/assets/mario.mid");
mediaPlayer = new MediaPlayer();
mediaPlayer
.setDataSource(fileDescriptor.getFileDescriptor(),
fileDescriptor.getStartOffset(), fileDescriptor
.getLength());
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
一直报空指针,不知道怎么回事,路径绝对没有错,就不知道怎么回事,是不是要添加什么,求大神帮助小弟
------解决方案--------------------
原因是openFd不需要“/assets/”。
.openFd("/assets/mario.mid");
修改
.openFd("mario.mid");
------解决方案--------------------
assetManager 默认引用的就是/assets包名下的 所以LS给出了正确的修改方式 最好根据日志分析 求助的时候 也最好把错误日志贴出啦