Hi,
I’m working on a game in Xamarin Android (C#) where we have been using FMOD (2.0.9 since this is a bit long-going project, but I think this should not matter). We are trying to access FMOD banks that are part of an Android install-time asset pack (since they are over 150 MB, you need to do this to get them to Google Play). Xamarin Android’s AssetManager.Open finds the banks just fine with Open("banks/Master.bank")
:
AssetManager assets = mainActivity.Assets;
Stream s = assets.Open(fullsourcepath)
where fullsourcepath = "banks/Master.bank"
. So I can for example copy the banks to a file, but this takes disk space. But when I call FMOD directly with
res = _system.loadBankFile(bank_path, LOAD_BANK_FLAGS.NORMAL, out tmpbank);
where bank_path = "file:///android_asset/banks/Master.bank"
, I get a file not found error from FMOD.
To my understanding FMOD should supply “banks/Master.bank” to AAssetManager_open in this case, which is probably exactly the same function call as AssetManager.Open in C#. I think this may have something to do with install-time asset-packs, but I’m not entirely sure, since AssetManager.Open in Xamarin works just fine.