Cocos2d背景音不是第二次播放C ++ / Win10 UWP

时间:2015-11-18 22:18:29

标签: c++11 cocos2d-x windows-10

我在Windows 10上使用cocoss2d和c ++,我试图播放背景音乐。它在我第一次调试游戏时工作,但是在我第二次点击运行时它会抛出这些异常

Exception thrown at 0x765F3E28 (KernelBase.dll) in MiniGolf.exe: 0x000006BA: The RPC server is unavailable.
Exception thrown at 0x765F3E28 (KernelBase.dll) in MiniGolf.exe: 0x0000000E: Not enough storage is available to complete this operation.
Assert failed: getFileSize should be override by platform FileUtils
Assertion failed!

我只是用这一行开始播放音乐。

CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("level_music1.wav",true);

我不确定发生了什么事可以和我分享光明吗?

2 个答案:

答案 0 :(得分:1)

cocos2d-x 3.9 CCWinRTUtils.cpp 第336行添加

if (ret[0] == '/') {
    ret = ret.substr(1, ret.length() - 1);
}

答案 1 :(得分:1)

知道了!它不是那么好的修复,但仍然。

文件:CCWinRTUtils.cpp 方法:createMappedCacheFile

我已经评论了if / else构造并且始终致电FileUtils::getInstance()->removeFile(prevFile)

现在它在Windows10和Windows Phone 8.1上都能正常工作。

据我所知,缓存仅适用于当前会话。之前的解决方案(通过hashtag缓存)用于缓存从Internet加载的声音,而本地文件则不需要。