Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓obb/zip音乐&;声音加载(cocos2dx)_Java_Android_Audio_Cocos2d X - Fatal编程技术网

Java 安卓obb/zip音乐&;声音加载(cocos2dx)

Java 安卓obb/zip音乐&;声音加载(cocos2dx),java,android,audio,cocos2d-x,Java,Android,Audio,Cocos2d X,我用这个答案:把我的android应用程序拆分成APK和ZIP,它就像一个魔咒 虽然应用程序正常启动,但所有声音都不会播放。 Cocos2dxMusic.java&Cocos2dxSound.java似乎无法读取zip中的声音文件。所有资源(图像、动画等)均已正确加载,但声音(音乐和SFX)似乎未加载 与assets.zip路径相对的路径是正确的,如日志所示。 有什么线索吗?我正在使用cocos2d-x2.2.0 以下是抛出的错误代码: 03-20 08:29:08.275: E/Cocos2d

我用这个答案:把我的android应用程序拆分成APK和ZIP,它就像一个魔咒

虽然应用程序正常启动,但所有声音都不会播放。 Cocos2dxMusic.java&Cocos2dxSound.java似乎无法读取zip中的声音文件。所有资源(图像、动画等)均已正确加载,但声音(音乐和SFX)似乎未加载

与assets.zip路径相对的路径是正确的,如日志所示。 有什么线索吗?我正在使用cocos2d-x2.2.0

以下是抛出的错误代码:

03-20 08:29:08.275: E/Cocos2dxMusic(31653): error: Attempt to invoke virtual method 'android.content.res.AssetFileDescriptor.com.android.vending.expansion.zipfile.ZipResourceFile.getAssetFileDescriptor(java.lang.String)' on a null object reference

03-20 08:29:08.275: E/Cocos2dxMusic(31653): java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.AssetFileDescriptor com.android.vending.expansion.zipfile.ZipResourceFile.getAssetFileDescriptor(java.lang.String)' on a null object reference

03-20 08:29:08.275: E/Cocos2dxMusic(31653):     at org.cocos2dx.lib.Cocos2dxMusic.createMediaplayer(Cocos2dxMusic.java:249)

03-20 08:29:08.275: E/Cocos2dxMusic(31653):     at org.cocos2dx.lib.Cocos2dxMusic.playBackgroundMusic(Cocos2dxMusic.java:112)

03-20 08:29:08.275: E/Cocos2dxMusic(31653):     at org.cocos2dx.lib.Cocos2dxHelper.playBackgroundMusic(Cocos2dxHelper.java:143)

03-20 08:29:08.275: E/Cocos2dxMusic(31653):     at org.cocos2dx.lib.Cocos2dxRenderer.nativeRender(Native Method)

03-20 08:29:08.275: E/Cocos2dxMusic(31653):     at org.cocos2dx.lib.Cocos2dxRenderer.onDrawFrame(Cocos2dxRenderer.java:94)

03-20 08:29:08.275: E/Cocos2dxMusic(31653):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1522)

03-20 08:29:08.275: E/Cocos2dxMusic(31653):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)

03-20 08:29:08.275: E/Cocos2dxMusic(31653): playBackgroundMusic: background media player is null

经过进一步研究,我注意到
zip\u resource\u file=apkexpansupport.getAPKExpansionZipFile(pContext,2,0)返回NULL。其中“2”是我的android版本将上述行与
zip_resource_file=new ZipResourceFile(Environment.getExternalStorageDirectory()+”/android/obb/“+pContext.getPackageName()+”/main.1.“+pContext.getPackageName()+”.zip”)合并有效,但我不确定这是否是最干净的解决方案?