2

我尝试播放通知声音,而不会干扰其他音乐播放通知声音interupting音乐

通知声音可以通过NotificationBuilder

由OS本身玩过2种方式

1)播放作用: - 处理所有在电话呼叫和其他情况下不播放声音的情况 问题: - 当播放音乐和通知时,它会将音频焦点从音乐转移到通知,通过降低或消除音乐(取决于音乐的方式)玩家的应用程序已经处理了损失音频焦点。

2)我们通过我们的媒体播放器,每当谈到通知

A)上播放通知STREAM声音播放--->工作完全正常,但是当通过耳机

B)播放上播放给回避的probem系统流

作用: - 音频焦点无移动性,当谈到通知

的问题,所以没有对音乐的影响: - 我们必须处理的电话通讯中的电话和VOIP不播放声音,以及其他情况..并且可能是其他未知的情况。

但我觉得watsup做得很好。

所以不知道它是怎么做

回答

2

Android 5.0 behavior changes on notification sounds

如果您正在使用RingtoneMediaPlayer,或Vibrator类添加声音和振动您的通知,删除此代码,以便系统可以在优先模式下正确显示通知。相反,请使用Notification.Builder方法来添加声音和振动。

将设备设置为RINGER_MODE_SILENT会导致设备进入新的优先级模式。如果将设备设置为RINGER_MODE_NORMALRINGER_MODE_VIBRATE,设备将保留优先模式。

此前,Android使用STREAM_MUSIC作为控制平板设备上音量的主控流。在Android 5.0中,手机和平板电脑设备的主音量流现在是统一的,并由STREAM_RINGSTREAM_NOTIFICATION控制。

,因为没有直接的方法来检测设备是否处于优先模式,你应该总是使用Notification.Builder/NotificationCompat.Builder方法声音添加到您的通知,以确保您满足用户的期望。

+0

感谢您对此的清除概念,但对于5.0以下的设备,我该怎么做?有什么办法吗?谢谢 –

+0

您不应该做任何不同的事情:'NotificationCompat.Builder'应该用于所有API级别,因为是在所有API级别,设备上提供一致体验的最佳方式,并处理您正确指出的所有边缘案例。 – ianhanniballake

+0

但是在这种情况下,当Google Play中播放音乐时,如果通知来自我的App.OS,则会将Audio Focus转变为我们的通知,因为它包含声音,因此Google播放会降低音量,然后播放noitification,然后音量恢复。 但是这在watsup中不会发生。 那么watsup如何处理呢? –