Thank you for sending those over- it took a little bit of extra setup but I have managed to play audio from your Vorbis banks on an Android device using the 2.01.23 version of the Unity integration.
The problem appears to be that these banks have a dependency on the fmod_distance_filter plugin. We do not have a .so version of this plugin, as you have discovered, so you will need to static link the source code instead. Here are the steps to do so:
- Open the distance “fmod_distance_filter.cpp” file in a text editor and change the fmod.hpp include to fmod.h- this is just for compliance with Unity’s source requirements.
#ifdef WIN32
#define _CRT_SECURE_NO_WARNINGS
#endif
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "fmod.h" // Changed from "fmod.hpp"
...
- In Unity, switch your backend to IL2CPP for both Desktop and Android.
- Create a new folder in the root of your Assets directory called “DSP Source”.
- Drag the “fmod_distance_filter.cpp” file into this directory.
- Download the same version of FMOD Engine as your Unity integration. This is so we can include additional source files that fmod_distance_filter depends on.
- Right click on the FMOD Engine installation and unzip it to your downloads directory.
- Navigate to “\fmodstudioapi20123win-installer\api\core\inc” and select the following files.
- Drag them into your “DSP Source” directory.
- In your FMOD Unity settings, add a new static plugin for your mobile platform with a value of
FMODGetDSPDescription
With that, you should be able to build for Android, and your banks should load without issue now that they have access to the fmod_distance_filter source.
I know there are a lot of steps with a lot of things that can go wrong, so please let me know how you go with that setup and I will try to help you through any other problems you encounter.