无法访问assets子文件夹中的文件

时间:2015-01-17 08:41:42

标签: cocos2d-x eclipse-cdt cocos2d-x-3.0

正如我在标题中提到的,当我加载存储在music1.mp3中的名为assets/music/music1.mp3的音乐歌曲时。 logcat显示Fatal error 11 (SIGSEGV) at 0x000000 (code 11)和app强行关闭。据我所知,Fatal error 11是由访问已释放的NULL元素或某个元素引起的。我已按预期记录FileUtils::getInstance->getSearchPath(),结果为assets/music。但是,当我尝试在music1.mp3中记录getFullPathForFilename的路径时,它只显示assets/music1.mp3,导致我的应用崩溃。任何人都可以解释为什么它无法访问资产子文件夹(音乐)来查找music1.mp3文件?我的英语不好:D

P / s:我的应用程序在iOS中运行得非常完美。

任何帮助都将不胜感激。

感谢阅读。

1 个答案:

答案 0 :(得分:2)

您需要将搜索路径添加到FileUtil,如下:

    FileUtils::getInstance()->addSearchPath("SEARCH_PATH");

我通常使用的另一个解决方案是将完整路径放在加载例程中。这将使您更好地了解正在发生的事情,这也有助于Android和iOS之间的一致性:

CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic(
            "music/msc1.mp3", true);