-2

I am trying to set up FMOD for Android.I have downloaded a working project for Android Studio from here: https://github.com/WillCoder/Fmod-Sample-3d

So whene i run the project those Method cannot be resolved:

   private native String getButtonLabel(int index);
   private native void buttonDown(int index);
   private native void buttonUp(int index);
   private native void setStateCreate();
   private native void setStateStart();
   private native void setStateStop();
   private native void setStateDestroy();
   private native void main();

is there any guide to integrat FMOD into android Project .. Thanks in Advance

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Folio
  • 1

1 Answers1

1

Those methods are defined in common_platform.cpp under the /api/core/examples and /api/studio/examples folders. They are not defined in the header file (they are C externs), which makes them easy to miss.

The reason why the examples are not building for you is because you're doing something wrong with how you're compiling them.
You're expected to build the solutions under /api/core/examples/vs2010 and /api/studio/examples/vs2010, which requires that Visual Studio have the C++ Android development tools component installed as well as an up to date Android NDK installed and configured.
The C++ Android development tools can be installed using the Visual Studio Installer (https://learn.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2019) tool under Individual Components > Development Activities > C++ Android development tools.
The Android NDK can also be installed with the Visual Studio Installer tool under Individual Components > SDKs, libraries and frameworks > Android NDK setup.

You should also be able to compile the examples using your preferred C++ compiler with a bit more work as long as your compiler can target the following platforms: arm64-v8a, armeabi-v7a, x86, x64.

Do note, however, that when you build your own app you do NOT require any of the files from the examples, you can simply initialise FMOD the same way you do on desktop.
Keep in mind that if you're going to use AudioDevice or MediaCodec from the low level API you must reference fmod.jar (/api/core/lib/fmod.jar) and call org.fmod.FMOD.init(Context var0) from the onCreate(Bundle bundle) (https://developer.android.com/reference/android/app/Activity.html#onCreate(android.os.Bundle)) method of your activity.