Я использую MediaPlayer для воспроизведения звукового эффекта.
Однако, когда DnD (Не беспокоить) включен, он все равно воспроизводит звук.
Это мой код:
public static void playSound(Context context, @RawRes int soundId)
{
MediaPlayer mp = MediaPlayer.create(context, soundId);
mp.start();
mp.setOnCompletionListener(mediaPlayer -> {
mp.release();
});
}
Я попытался установить тип аудиопотока следующим образом, но тогда мой звук не воспроизводится вообще:
mp.setAudioStreamType (AudioManager.STREAM_NOTIFICATION);
Как инициализировать медиаплеер, чтобы мой звук делал следующее:
- DnD off: играть
- DnD Полная тишина: не играть
- Только сигналы тревоги DnD: не играть
- Только приоритет DnD: не играть
В настоящее время звук отключается, только когда DnD находится в режиме полной тишины.
Единственное, о чем я могу думать сейчас, - это восстановить настройку DnD и воспроизводить звук, только если он выключен. Но это больше похоже на обходной путь.