自定义iOS推送通知声音

11

我一直在遇到一个问题。 我在 iOS 中实现了带有自定义音效的推送通知。 它是一个 MP3 文件。 当我在 iOS 5 中收到推送通知时,它能够正常播放,但在 iOS 4 中却没有任何声音。

你能帮我解决这个问题吗?

代码如下:

{
    "aps": {
        "badge": 10,
        "alert": "Hello",
        "sound": "sound.mp3"
    }
}

Nithin


你能否在这个问题中添加一点代码,展示如何设置推送通知的自定义声音? - Michael Dautermann
2个回答

28

根据推送通知指南:

您可以将音频数据打包为aiff、wav或caf文件。然后,在Xcode中,将声音文件作为本地化资源添加到应用程序捆绑包中。

它并没有提到MP3。我曾使用过aif文件,效果良好。建议遵循Apple的规定


4
我曾经尝试过,但是音频文件没有跟应用程序一起打包。请确保文件被包含在“Copy Bundle Resources”构建阶段中。 - Inn0vative1
1
它应该在iOS 4上运行。我看到了你的另一篇帖子,你说你听不到任何声音。如果声音文件错误或由于任何原因无法播放,则系统应播放默认声音。这可能听起来非常明显,但是您在设置应用程序的通知设置下是否有可用的声音选项? - Inn0vative1
我知道我不应该使用.mp3文件,因为苹果在推送文档中没有提到它。所以,我使用FFMpeg将我的文件转换为.wav文件,但它没有起作用。我不知道转换wav文件时需要哪些参数(以便可以附加到APN负载)。我尝试了:“ffmpeg -i in.mp3 -ar 8000 -ac 1 out.wav”和“ffmpeg -i in.mp3 out.wav”,但都没有帮助。 - samthui7
1
嗨,我注意到可以用于推送的wav文件具有采样率= 44100和每个采样的位数= 16。因此,我使用了这个命令行ffmpeg -i in.mp3 -acodec pcm_s16le -ac 1 -ar 44100 out.wav,然后输出可以用于推送。如果您使用此命令而您的文件仍无法播放->可能是输入文件出了问题->让我们尝试另一个。 - samthui7
1
该链接已损坏。 - mae
显示剩余3条评论

5
您无法播放 .mp3 文件。不过,您可以在这里将它们转换为 .wav 文件:http://media.io/(在线免费)。然后将转换后的文件放入您的 XCode 项目中,您可以通过指定 "sound":"sound.wav" 来调用它。

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