报错日志:
11-27 15:49:07.756 18143-18167/com.coco2dx.org E/Cocos2dxMusic: error:
java.io.FileNotFoundException:
at android.content.res.AssetManager.openAssetFd(Native Method)
at android.content.res.AssetManager.openFd(AssetManager.java:332)
at org.cocos2dx.lib.Cocos2dxMusic.createMediaPlayer(Cocos2dxMusic.java:285)
at org.cocos2dx.lib.Cocos2dxMusic.playBackgroundMusic(Cocos2dxMusic.java:97)
at org.cocos2dx.lib.Cocos2dxHelper.playBackgroundMusic(Cocos2dxHelper.java:362)
at org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(Native Method)
at org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(Cocos2dxRenderer.java:72)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1509)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1248)
11-27 15:49:07.756 18143-18167/com.coco2dx.org E/Cocos2dxMusic: playBackgroundMusic: background media player is null
报错代码块:
private MediaPlayer createMediaPlayer(final String path) {
MediaPlayer mediaPlayer = new MediaPlayer();
try {
if (path.startsWith("/")) {
final FileInputStream fis = new FileInputStream(path);
mediaPlayer.setDataSource(fis.getFD());
fis.close();
} else {
if (Cocos2dxHelper.getObbFile() != null) {
final AssetFileDescriptor assetFileDescriptor = Cocos2dxHelper.getObbFile().getAssetFileDescriptor(path);
mediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());
} else {
final AssetFileDescriptor assetFileDescriptor = this.mContext.getAssets().openFd(path);
mediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());
}
}
mediaPlayer.prepare();
mediaPlayer.setVolume(this.mLeftVolume, this.mRightVolume);
} catch (final Exception e) {
mediaPlayer = null;
Log.e(Cocos2dxMusic.TAG, "error: " + e.getMessage(), e);
}
return mediaPlayer;
}
主要报错代码行:
报错:org.cocos2dx.lib.Cocos2dxMusic.createMediaPlayer(Cocos2dxMusic.java:285)
代码:final AssetFileDescriptor assetFileDescriptor = this.mContext.getAssets().openFd(path);
说明:
createMediaPlayer(final String path)方法中的参数(path)为空;
音乐路径:Resources/res/Sounds/background.mp3;
版本:cocos2dx 3.15