2016-10-02 38 views
0

在我的android应用程序是一个非常常见的场景,同时接收多个通知。 每个通知都可以有一个自定义声音(由用户设置)来识别何种类型的通知,而无需查看状态栏。 问题在于,当同时发送多个通知时,声音会自行重叠,除了彻底破坏该功能以识别刚听到声音的通知类型之外,其结果是令人不快的噪音。如何防止多个通知上的重叠声音

有没有办法排队通知声音?另外,只有当另一个人完成播放他的声音时,我才可以发送通知吗?

回答

0

如果您使用的是SoundPool类,则可以将MaxStreams()设置为1以避免播放多个声音。此外,Soundpool类允许您为每个通知声音设置优先级,因此它可以知道在有多个声音尝试同时播放时播放哪个声音。不幸的是,Soundpool不支持任何类型的队列。

或者,如果您使用MediaPlayer播放声音,则可以使用onCompletionListener。但是,由于MediaPlayer旨在用于较长的音频文件,因此不建议将MediaPlayer用于通知声音。