安卓通知声音默认回退而不是播放自定义声音

3
有人遇到过这个问题吗?我使用notification.sound来设置自定义提示音,但手机仍然使用默认提示音。
我从audio-resources.zip/audio/alarms/Instance.mp3中复制了一个提示音。(你可以在这里下载audio-resources.zip)。我将其复制并移动/重命名为res/raw/notification.mp3
我正在使用以下代码来播放提示音。
//Old way: notification.defaults |= Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notification.sound = Uri.parse("android.resource://my.package.name/raw/notification");

那个被注释掉的行是我之前使用的。它发出了一个声音,可能是默认的通知声音。现在我正在使用另外两行代码。
旧的方法在模拟器上没有声音,但在客户手机上有声音(预期)。新的方法在模拟器上发出了正确的声音,但客户仍然听到旧的声音。
客户确实安装了更新。服务器接收到了一个新的versionCode(最初来自AndroidManifest.xml),应用程序告诉用户已经是最新版本。(这不是市场应用)
声音来自一个BroadcastReceiver,由Alarm Manager触发。
我使用相同的下载链接在模拟器上进行了测试,但无法重现。
客户的声音“与蜂鸣声毫不相似”。如果你听Instance.mp3,你会知道,它明显是5个蜂鸣声,每个蜂鸣声之间大约有四分之一秒的时间间隔。
现在这件疯狂的事情是,我希望声音完全消失,而不是回退到默认值?
我将让客户重新启动手机并进行另一次干净的测试(他可能已经这样做了),但我没有更多的想法。你有吗?

你能在真实的手机上播放这个MP3吗?在桌面上播放并不排除比特率等问题。 - Phil Lello
你的问题对我非常有用 :) 谢谢 :) - Martin Pfeffer
@Martin,很高兴听到这个消息! - 700 Software
1个回答

1

手机重启后问题得到解决。不知道为什么,在模拟器上并不需要这样做。我猜升级期间闹钟的存在可能会导致问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接