メディアの音量変更を有効にするには、ActivityのsetVolumeControlStreamにAudioManager.STREAM_MUSICを渡すことで設定できるようになる。
他にも STREAM_ALARM, STREAM_DTMF, STREAM_NOTIFICATION, STREAM_RING, STREAM_SYSTEM, STREAM_VOICE_CALLがある。via(AndroidDevelopers.AudioManager)
あとはJNIを使用してJava側に作ったメソッドを呼び出せばよい。
const char* methodName = /*Java側に作成したメソッド名*/; struct android_app* androidApp = /*android_mainの引数をあらかじめ保存しておく*/; JavaVM* vm = androidApp->activity->vm; jobject clazzObj = androidApp->activity->clazz; JNIEnv* env; vm->AttachCurrentThread( &env, NULL ); jclass clazz = env->GetObjectClass( clazzObj ); jmethodID methodID = env->GetMethodID( clazz, methodName, "()V" ); env->CallVoidMethod( clazzObj, methodID ); vm->DetachCurrentThread();
初期化のタイミングなどにコールすればいいだろう。