У меня есть ответ. Я потратил время, чтобы понять, что установка звука для кнопки в onClickListener путем вызова mp.start только не сохраняет пользовательские настройки. Я также обнаружил, что многократное нажатие кнопки тайно увеличивает громкость аудиоменеджера без согласия пользователя.
Итак, чтобы звук нажатия кнопки воспроизводился при установленной пользователем системной громкости, я решил установить постоянные настройки переключения эффектов, которые помогают сохранить постоянные настройки пользователя.
Теперь, если пользователь убавляет громкость системы или переключается в беззвучный режим, звук нажатия кнопки не издает звука.
Ниже приведен наиболее правильный способ реализации нажатия кнопки звуковой код
public void onBtnClick()
{
Log.v(TAG, "Initializing sounds...");
final MediaPlayer mp = MediaPlayer.create(this, R.raw.sound_btn);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.playSoundEffect(SoundEffectConstants.CLICK);
mBrandNewDesc2.setVisibility((mBrandNewDesc2.getVisibility() == View.VISIBLE)
? View.GONE : View.VISIBLE);
Log.v(TAG, "Playing sound...");
mp.start();
}
});