我正在使用 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 关闭:播放
- DnD 完全沉默:不要玩
- 仅限 DnD 警报:不要玩
- 仅限 DnD 优先级:不玩
目前,只有当 DnD 处于完全静音模式时,声音才会静音。
我现在唯一能想到的就是检索 DnD 设置,只有在它关闭时才播放声音。但这对我来说似乎更像是一种解决方法。