修改源代码:AudioTrack.c
setStereoVolume->setVolume
38行增加:
jmethodID method_setVolume;
修改方法
jint J4AC_android_media_AudioTrack__setStereoVolume(JNIEnv *env, jobject thiz, jfloat leftGain, jfloat rightGain)
{
return (*env)->CallIntMethod(env, thiz, class_J4AC_android_media_AudioTrack.method_setVolume, leftGain, rightGain);
}
400行左右增加:
class_id = class_J4AC_android_media_AudioTrack.id;
name = "setVolume";
sign = "(F)I";
class_J4AC_android_media_AudioTrack.method_setVolume = J4A_GetMethodID__catchAll(env, class_id, name, sign);
if (class_J4AC_android_media_AudioTrack.method_setVolume == NULL)
goto fail;
重新编译。
调用:mMediaPlayer.setVolume(0,0) 即可无须停止播放器实现静音,不影响其他后台app
ijkplayer-android 解决无法在播放中调整音量的问题
于 2024-08-21 12:30:28 首次发布