Вы неправильно используете audioManager.isStreamMute()
.Эта функция принимает AudioManager
константу, как STREAM_MUSIC
.Это совсем не то, что идентификатор звука, возвращаемый из SoundPool.load()
.
isStreamMute()
, не скажет вам, воспроизводится ли ваш звук.Это больше для определения настроек отключения устройства;выбрал ли пользователь приглушение / вибрацию / беззвучный режим и т. д.
Вместо этого просто отслеживайте свое состояние воспроизведения с помощью логической переменной.
if (!playing) {
playing = true
soundPool.play(sound, 1F, 1F, 0, -1, 1F)
} else {
playing = false
soundPool.pause(sound)
}