Unreal Engine-Android The getRecordNumDrivers method callback is 0

I did everything possible, enabling permission…etc, not use

studioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime);

#if PLATFORM_ANDROID
lowLevel->setOutput(FMOD_OUTPUTTYPE_OPENSL);
#endif
studioSystem->getLowLevelSystem(&lowLevel);

results = lowLevel->getRecordNumDrivers(NULL, &recordDriverNumber);

What I’m doing wrong?

In the editor it runs fine

the only solution worked for me
result = FMOD::System_Create(&lowlevel);
#if PLATFORM_ANDROID
lowlevel->setOutput(FMOD_OUTPUTTYPE_OPENSL);
#endif

without using studioSystem = IFMODStudioModule::Get().GetStudioSystem(EFMODSystemContext::Runtime);

On any platform other then Windows, the output type has to be set before FMOD is initialized otherwise it will not do anything.

You would have to modify the FMODStudioModule.cpp to force the device to OpenSL before StudioSystem[Type]->initialize(…

1 Like

thanks for let me know about this trick