Hi FMOD team,
We’re experiencing a frustrating Android audio issue and would appreciate your guidance.
Background:
We had a critical “0 input devices” bug on Android (especially Samsung/Xiaomi) where FMOD wouldn’t detect microphones on first launch—a restart would fix it, but this broke our game’s core functionality. We resolved it by forcing `FMOD.OUTPUTTYPE.OPENSL` on Android, which worked well.
Current Problem:
Recently, we’ve been seeing increasing `SIGSEGV` crashes in `libfmod.so` (`[split_config.arm64_v8a.apk!libfmod.so]`), driving our Android crash rate to unacceptable levels across multiple Android versions. Updating to the latest FMOD version didn’t help, and our implementation appears correct.
Our Hypothesis:
We suspect these crashes might be related to forcing `OUTPUTTYPE.OPENSL` on newer Android versions (13+), where OpenSL ES is deprecated/less stable.
Proposed Solution:
We’re considering conditionally using OpenSL only on Android 12 (SDK 32) and lower, letting newer versions use the default AAudio. However, we’re concerned the “0 input devices” bug will return on Android 13+ devices.
Questions:
1. Could forcing `OUTPUTTYPE.OPENSL` be causing these `SIGSEGV` crashes on newer Android versions?
2. Is there a better approach to handle the “0 input devices” issue without forcing OpenSL?
3. Any other suggestions we should try?
Honest Feedback:
Using FMOD in our Android+iOS Unity game has been challenging, from crashes to mic issues. As a small indie team, we’ve spent significant time troubleshooting audio instead of focusing on gameplay.
If starting over, we’d likely consider default Unity audio or Wwise. That said, we’d prefer to make FMOD work if possible.
Thanks for any insights you can provide!