使用自定义声音的Parse Push Notification会播放默认声音

时间:2015-01-07 17:23:48

标签: ios audio parse-platform push-notification

我发送应用程序收到的解析推送通知,但请求的声音不播放,而是播放默认声音。声音已由应用程序保存在文档文件夹中。我可以在iTunes中查看他们在那里。在某些时候这是有效的,但由于某种原因,它已经停止播放请求的声音。如果我记录推送通知用户信息字典,那么声音名称是正确的:

2015-01-11 12:17:41.356 My App[239:60b] didReceiveRemoteNotification, userInfo: {
    aps =     {
        alert = "XXX says FOO from the console!";
        sound = "w8nmridutW_v1.mp3";
    };
}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可能不支持使用的音频格式。当它工作时,它是一个不同的文件? 请查看the apple documentation

答案 1 :(得分:0)

根据文档here,mp3不是受支持的文件类型。你确定你之前收到过这个mp3文件吗?如果是这样,您遇到了未记录/不受支持的行为。

以下是相关的一点:

  

准备自定义提醒声音

     

对于iOS中的远程通知,您可以指定iOS在为应用呈现本地或远程通知时播放的自定义声音。声音文件必须位于客户端应用程序的主包中。

     

自定义提醒声音由iOS系统声音设备播放,因此它们必须采用以下音频数据格式之一:

     

线性PCM
  MA4(IMA / ADPCM)
  μLaw
  ALAW

     

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

     

您可以使用afconvert工具转换声音。例如,要将16位线性PCM系统声音Submarine.aiff转换为CAF文件中的IMA4音频,请在终端应用程序中使用以下命令:

     

afconvert      /System/Library/Sounds/Submarine.aiff      〜/ Desktop / sub.caf -d ima4 -f caff -v

     

您可以通过在QuickTime播放器中打开声音并从“电影”菜单中选择“显示电影检查器”来检查声音以确定其数据格式。

     

播放时,自定义声音必须低于30秒。如果自定义声音超过该限制,则会改为播放默认系统声音。