iOS에서 실행중인 게임과 Win32에서 cocos2d-x C++로 작성한 게임이 있습니다. 나는 또한 게임에서 사운드를 위해 FMOD Studio를 사용한다.Android 및 cocos2d-x에서 FMOD 사운드 뱅크 로딩
이제 게임을 Android로 이식하고 있으며 Android에서 FMOD에 문제가 있습니다. 문제가 자산로드와 관련 있다고 가정합니다.
현재 사운드 시스템이 성공적으로 초기화됩니다.
11-02 20시 48분 :
void FMODWrapper::loadBank(const char * bankFile) { FMOD_RESULT result; std::string path = FileUtils::getInstance()->fullPathForFilename(bankFile); FMOD::Studio::Bank *bank; if (path.size() > 0) { result = system->loadBankFile(path.c_str(), FMOD_STUDIO_LOAD_BANK_NORMAL, &bank); if (result != FMOD_OK) { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) LOGD("FMOD error! Unable to load bank: %s %d\n", path.c_str(), result); #else printf("FMOD error! Unable to load bank: %s\n", path.c_str()); #endif } _loadedBanks.push_back(bank); } }
나는 다음과 같은 출력을 얻을 FMOD 디버그 libs와 함께이 프로그램을 실행할 때 : I는 iOS 및 윈도우에서 작동 은행을로드하려면 다음 코드를 사용 : 50.173 : I/fmod (2459) : FMOD : AsyncCommand_system_loadBankFile :: executeMain : 파일을 여는 데 실패했습니다. 'assets/Sound/MX_AND_SFX_MASTER_BANK.bank'11-02 20 : 48 : 50.173 : I/fmod (2459) :. ./../src/fmod_asynccommand_impl.cpp(443) : FMOD 오류 (20) : 파일을 찾을 수 없습니다. 11-02 20 : 48 : 50.173 : I/fmod (2459) : FMOD : Debug_OutputTrace : ../../src/fmod_asynccommand_impl.cpp(443) : FMOD 오류 (20) : 파일에 이 없습니다.
에셋/사운드/MX_AND_SFX_MASTER_BANK.bank는 내 애플릿 프로젝트가 어디에 머물러 있는지에 관계 없습니다.
누구나 내가 loadBankFile() 호출에 전달해야하는 것에 대한 통찰력이 있습니다.
또한 FileUtils :: getDataFromFile()에서 loadBankMemory를 사용해 보았습니다. 이로 인해 소리가 나지 만 소음이었습니다. 그래서 내가 바라는 것이 아닙니다. /// android_asset/