iOS开发之极光推送自定义推送声音

原创 2016年06月01日 10:17:18

项目中用到了自定义推送声音,于是就看了下官方文档。 官方文档上说:

Preparing Custom Alert Sounds

For remote notifications in iOS, you can specify a custom sound that iOS plays when it presents a local or remote notification for an app. The sound files can be in the main bundle of the client app or in the Library/Sounds folder of the app’s data container.

Custom alert sounds are played by the iOS system-sound facility, so they must be in one of the following audio data formats:

  • Linear PCM

  • MA4 (IMA/ADPCM)

  • µLaw

  • aLaw

You can package the audio data in an aiffwav, or caf file. Then, in Xcode, add the sound file to your project as a nonlocalized resource of the app bundle or to the Library/Sounds folder of your data container.

You can use the afconvert tool to convert sounds. For example, to convert the 16-bit linear PCM system sound Submarine.aiff to IMA4 audio in a CAF file, use the following command in the Terminal app:

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

You can inspect a sound to determine its data format by opening it in QuickTime Player and choosing Show Movie Inspector from the Movie menu.

Custom sounds must be under 30 seconds when played. If a custom sound is over that limit, the default system sound is played instead.


以上实际上就是说了

由于自定义通知声音还是由 iOS 系统来播放的,所以对音频数据格式有限制,可以是如下四种之一:

  1. Linear PCM
  2. MA4 (IMA/ADPCM)
  3. µLaw
  4. aLaw

对应音频文件格式是 aiffwavcaf 文件,文件也必须放到 app 的 mainBundle 目录中。

可以使用 afconvert 工具来处理音频文件格式,在终端中敲入如下命令就可以将一个 mp3 文件转换成 caf 文件:

afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/test.caf -d ima4 -f caff -v
自定义通知声音的播放时间必须在 30s 内,如果超过这个限制,则将用系统默认通知声音替代。

转换完成后就可以将 test.caf这个文件拖入 Xcode 工程中,编译运行项目在真机上。

然后在极光发送推送通知时,只需配置 sound 字段的值为导入到工程中的音频文件名,这里即就是 test.caf。如图所示。


测试,收到推送时,通知声音就是我们自定义的声音了。



相关文章推荐

iOS 极光推送小结(简单配置)

本文采用pod 方式导入JPUSH  一、首先在Podfile文件中写入(具体podfile文件创建方法以后会阐述) 1.    pod'JPush', '~> 2.1.8' 二、在AppDe...

iOS极光推送(接收后台消息和自定义消息)

1.极光推送包括:APNs推送,JPush应用内消息。JPush 代理开发者的应用(需要基于开发者提供的应用证书),向苹果 APNs 服务器推送。由 APNs Server 推送到 iOS 设备上。J...

iOS 接收新消息通知调用系统声音 震动

添加系统框架: #import AudioToolbox/AudioToolbox.h> 调用震动代码: AudioServicesPlaySystemSound(kSystemSoundI...
  • saw471
  • saw471
  • 2016年03月10日 13:41
  • 5409

iOS 推送后台语音播报

推送通知 注意:这里说的推送通知跟NSNotification有所区别NSNotification是抽象的,不可见的推送通知是可见的(能用肉眼看到) iOS中提供了2种推送通知 本地...

极光推送JPush---自定义提示音

极光推送提供三种方法实现Notification通知 1. ① 三方开发平台发送普通消息,客户端设置PushNotificationBuilder,实现基础的Notification通知 ...

iOS极光推送之自定义消息

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc...

开发笔记 - 自定义推送声音

简单自定义推送声音

iOS学习爬坑记录14:自定义远程推送通知铃声(Custom Alert Sounds)

最近在调试APP的远程推送,需要做成类似微信视频通话或者语音通话的通知铃声。找了好多资料才知道怎么自定义铃声: 官方文档中有铃声格式和长度的说明:(见https://developer.apple....

自定义推送声音需要如何添加到APP才会响?

之前做的项目,现在需要添加新的功能,推送是响自定义声音,由于用的是mqtt做的推送,所以在项目中使用本地推送来模拟推送的效果。 以前用极光推送时,直接将文件添加到项目中,通过解析到内容来响不同自定义...
  • yptzxx
  • yptzxx
  • 2016年06月25日 12:08
  • 800

IOS推送声音设置

项目中遇到需要自定义通知声音的需求,以前没做过,就查了下官方文档,就像文档上说的,实现起来确实挺简单,就整理下当做备忘吧。 关于推送,官方文档、各种第三方推送文档都很全,就跳过了。 由于自定义...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发之极光推送自定义推送声音
举报原因:
原因补充:

(最多只允许输入30个字)