커뮤니티 Q&A

Audiokinetic의 커뮤니티 Q&A 포럼에 오신 것을 환영합니다. 이 포럼은 Wwise와 Strata 사용자들이 서로 도움을 주는 곳입니다. Audiokinetic의 직접적인 도움을 얻으려면 지원 티켓 페이지를 사용하세요. 버그를 보고하려면 Audiokinetic 런처에서 Bug Report 옵션을 사용하세요. (Q&A 포럼에 제출된 버그 보고는 거절됩니다. 전용 Bug Report 시스템을 사용하면 보고 내용이 담당자에게 정확히 전달되어 문제 해결 가능성이 크게 높아집니다.)<segment 6493>

빠르고 정확한 답변을 얻으려면 질문을 올릴 때 다음 팁을 참고하세요.

  • 구체적인 내용을 적어주세요: 무엇을 하려는지, 혹은 어떤 특정 문제에 부딪혔는지 설명하세요.
  • 핵심 정보를 포함하세요: Wwise와 게임 엔진 버전, 운영체제 등 관련 정보를 함께 제공하세요.
  • 시도한 방법들을 알려주세요: 문제 해결을 위해 이미 어떤 단계를 시도해봤는지 설명해주세요.
  • 객관적인 사실에 초점을 맞추세요: 문제의 기술적 사실을 중심으로 설명하세요. 문제에 집중할수록 다른 사람들이 더 빠르게 해결책을 찾을 수 있습니다.

0 투표

Hello,

We're currently in the process of trying to upgrade from 2016.1.1 to the latest 2019.1.1 release, but are running into a failure when attempting to initialize the sound engine. This is with a mixed Java/C++ game, not a native NDK activity based app. 

The following code is used for sound engine initialization, the Java VM is obtained from the initial JNI_OnLoad(JavaVM * vm, void *reserved) call which happens when our library is loaded. This works fine in 2016.1.1 but fails under 2019.1.1 for some reason. I'm unable to debug this further as I lack the source code to the SoundEngine. 

 AkInitSettings initSettings;
 AkPlatformInitSettings platformInitSettings;
 AK::SoundEngine::GetDefaultInitSettings( initSettings );
 AK::SoundEngine::GetDefaultPlatformInitSettings( platformInitSettings );
 platformInitSettings.pJavaVM = OurCustomLib->GetJavaVM();
 if ( AK::SoundEngine::Init( &initSettings, &platformInitSettings ) != AK_Success ) -> Failure: AKDEBUG: Java VM not initialized or not provided in AkInitSettings.

Please advise.

Thanks

General Discussion Gregg W. (100 포인트) 로 부터

1 답변

0 투표

你好,大神,我也遇到这个问题

AkPlatformInitSettings platformInitSettings;
JavaVM* jvm = cocos2d::JniHelper::getJavaVM();
platformInitSettings.pJavaVM = jvm;


JNIEnv* env = cocos2d::JniHelper::getEnv();
jclass classID=env->FindClass("org/cocos2dx/javascript/AppActivity");
jmethodID methodID = env->GetStaticMethodID(classID, "getInstance", "()Ljava/lang/Object;");
platformInitSettings.jActivity = env->CallStaticObjectMethod(classID, methodID);

AKRESULT res0 = m_pLowLevelIO->Init(platformInitSettings.pJavaVM,platformInitSettings.jActivity);

 

AKRESULT res1 = AK::SoundEngine::Init(&initSettings, &platformInitSettings);//Java VM not initialized or not provided in AkInitSettings.
afd d. (310 포인트) 로 부터
...