我正在尝试播放Notification Sound,而不会打扰其他音乐播放
通知声音可以通过2种方式播放
1)由OS本身通过NotificationBuilder
播放Benifits: - 处理所有在电话和其他情况下不播放声音的情况 问题: - 当播放音乐并发出通知时,它会将音频焦点从音乐转移到通知,然后根据音乐播放器应用程序处理音频焦点丢失的方式降低或消除音乐。
2)每当收到通知时,我们都会通过媒体播放器播放声音
A)播放NOTIFICATION STREAM --->工作得非常好但是通过耳机播放时可以避免躲避
B)在SYSTEM STREAM上播放
畅享: - 没有音频焦点转移,因此在收到通知时对音乐没有影响
问题: - 我们将不得不处理其他无法在电话呼叫和VOIP中播放声音的情况......并且可能是目前其他未知的情况。
但我认为watsup做得很好。
所以不知道它是怎么做的
答案 0 :(得分:2)
根据Android 5.0 behavior changes on notification sounds:
如果您目前使用Ringtone,MediaPlayer或Vibrator类为通知添加声音和振动,请删除此代码,以便系统可以优先正确地显示通知模式。相反,使用Notification.Builder方法添加声音和振动。
将设备设置为RINGER_MODE_SILENT会使设备进入新的优先级模式。如果您将设置设为RINGER_MODE_NORMAL或RINGER_MODE_VIBRATE,设备将保留优先模式。
以前,Android使用STREAM_MUSIC作为主流来控制平板电脑设备上的音量。在Android 5.0中,手机和平板电脑设备的主音量流现已统一,由STREAM_RING或STREAM_NOTIFICATION控制。
由于没有直接的方法来检测设备是否处于优先模式,因此您应始终使用Notification.Builder
/ NotificationCompat.Builder
方法为通知添加声音,以确保您满足用户&# 39;期望。