2015-01-17 3 views
0

assets/music/music1.mp3에 저장된 music1.mp3이라는 음악 노래를로드 할 때 제목에서 언급했듯이. logcat show Fatal error 11 (SIGSEGV) at 0x000000 (code 11) 및 앱이 강제 종료됩니다. 내가 아는 한, Fatal error 11은 이미 해제 된 NULL 요소 또는 sth에 액세스함으로써 발생합니다. FileUtils::getInstance->getSearchPath()을 기록했으며 예상대로 결과가 assets/music입니다. 그러나 의 경로를 getFullPathForFilename에 기록하려고 시도했을 때 내 응용 프로그램이 작동을 멈추게하는 assets/music1.mp3이 나타났습니다. 누구든지 자산 하위 폴더 (음악)에 액세스 할 수없는 이유를 설명하면 music1.mp3 파일을 찾을 수 있습니까? Sr for my bad english : D자산 하위 폴더에있는 파일에 액세스 할 수 없습니다.

P/s : 내 앱이 iOS에서 완벽하게 실행됩니다.

도움을 주시면 감사하겠습니다.

감사합니다.

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

나는 일반적으로 단순히 로딩 루틴의 전체 경로를 가하고 사용하는 다른 솔루션을 :

답변

2

는 당신은, 당신의 FileUtil에 검색 경로를 추가해야합니다. 이것은 당신에게 무슨 일이 일어나고 있는지의 매우 더 나은 이해를 제공하고 또한 Android 및 iOS 간의 일관성에 도움이 : 답장을

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

감사 @Kasra. 물론, 위에서 언급 한 방법을 사용하여 모든 검색 경로를 추가했지만 여전히 파일을 찾을 수 없습니다. 파일에 대한 전체 경로를 입력하면 동일한 결과가 나타납니다. 그것은 너무 이상합니다. –

+0

전체 주소를 입력 할 때 사용하는 것과 똑같은 행을 복사하여 붙여 넣기 바랍니다. – Kasra

+0

분명히 들리 겠지만 어쨌든 "assets"폴더가 아닌 "resources"폴더에 음악을 복사해야합니다. "assets"폴더는 cocos2d-x에 의해 "resources"폴더와 자동으로 관리되고 동기화됩니다. 리소스 폴더가 아닌 자산 폴더에 항목을 복사하면 게임을 컴파일 할 때 모든 내용이 덮어 쓰여지고 자산 폴더에 복사 한 파일이 손실됩니다. – Kasra