iOS 自定义通知声音

作者: 冷漠叻荭颜 | 来源:发表于2015-12-26 01:06 被阅读13957次

项目中遇到需要自定义通知声音的需求,以前没做过,就查了下官方文档,就像文档上说的,实现起来确实挺简单,就整理下当做备忘吧。

关于推送,官方文档、各种第三方推送文档都很全,就跳过了。

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

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

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

自定义通知声音的播放时间必须在 30s 内,如果超过这个限制,则将用系统默认通知声音替代。

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

$ afconvert unbelievable.mp3 unbelievable.caf -d ima4 -f caff -v

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

将 unbelievable.caf 文件拖入工程中

发送推送通知时,只需配置 sound 字段的值为导入到工程中的音频文件名,这里即就是 unbelievable.caf

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

收到推送信息

Demo 地址

相关文章

  • iOS 自定义通知声音

    官方文档 https://developer.apple.com/library/content/document...

  • iOS 自定义通知声音

    项目中遇到需要自定义通知声音的需求,以前没做过,就查了下官方文档,就像文档上说的,实现起来确实挺简单,就整理下当做...

  • iOS 自定义通知声音

    iOS10+的本地通知开始使用“UNUserNotificationCenter”,由于系统通知的声音太单调,总有...

  • iOS自定义通知声音

    场景 在消息推送里面播放自定义生成的声音 解决方案 生成自定义声音文件后,必须要写入到 【/Library/Sou...

  • iOS 自定义通知声音

    真!的!很!简!单!可以给不同类型的推送指定不同的通知音效。 一、准备好铃声文件。 目前只支持:Linear PC...

  • Android和iOS自定义通知声音

    Android 自定义通知声音 在安卓开发中、很多时候要使用通知提醒用户、那么使用通知就会设计到通知的提示音、那么...

  • iOS自定义推送消息铃声

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

  • 自定义通知声音

    用MediaPlayer实现自定义声音,本来是不需要先把mediaplayer置空的,但是如果需要连续播放声音的时...

  • iOS 替换通知声音

    Preparing Custom Alert Sounds Local and remote notificati...

  • iOS自定义通知声音(本地&远程)

    官方文档 主要步骤: 远程通知:1.将自定义的声音文件拖入工程(音频文件格式是 aiff,wav,caf)2.后台...

网友评论

  • 1a98d81829e8:自定义的20多秒的声音,横幅消失后就不播放了,横幅提示消失可以播放完吗??
  • 北暖37:这个自定义的声音是不是不能调节音量大小啊,我试了下,发现推送自定义声音不会随着设备的音量改变而改变啊:cry:
  • b5760daaefd3:坑爹 刚好用10.0 调了好久 原来是系统不行 真特么坑爹
  • 离线0_0留言:第一次安装后推送自定义声音能有
    不卸载的情况下,编译安装就变成系统默认声音了,直推苹果APNs服务器的
    楼主碰到过吗,或者能用这个demo测试下这种情况吗
    我是要成为大神的男人:跟你一样的 情况,你是怎么解决的啊。
  • catYuan:大神我的也没有声音了 让我升级下手机试试。:sunglasses: :sunglasses:
    冷漠叻荭颜:@catYuan 你妹:scream_cat:
  • e700e94dd65a:能加下好友吗?2633252822有个问题咨询
  • 命中注定IU:为什么听不到声音 求解答
  • 3fda77b6cb66:请问一下, 我按照你的方法自定义了铃声,但是消息推送到时 只弹框没声音是怎么回事。 这个弹框是我自定义的,不知道有没有影响。
    冷漠叻荭颜:@3fda77b6cb66 你的声音时间 30s 会不会有点儿长超限制了,你可以先试下时间短点儿的声音文件,这推送内容看着没有问题
    3fda77b6cb66:@冷漠叻荭颜 [15:38:02.764( 1027)]
    - UMPMessage dict [{
    d = uu21712147919546835001;
    p = 0;
    currentTime = 2016-11-15 15:37:48;
    isShock = 1;
    aps = {
    content-available = 1;
    alert = 前方130米即将到达人民广场站,请您做好下车准备。;
    badge = 0;
    sound = "call.caf";
    }
    大神, 我用的是友盟远程推送, call.caf 是30s的铃声。 按照你说的做的。可是在前台没声音,只弹出我自定义的框,前台无所谓 我可以自己做声音播放, 可是 最终的需求是 后台时受到提醒 要播放30s的声音,但是现在 后台 只是叮的一声 就完事了。 我用10.0之前的测试机和10.1.1的测试机都试过了 就是不行, 求大神帮忙 急
    冷漠叻荭颜:@3fda77b6cb66 收到的推送通知内容是什么
  • jk2K:iOS 10 这里有个bug,升到 10.1 版本就会有自定义提示音了
    iOS_愛OS:@冷漠叻荭颜 卸了重装一下就有声音了,刚刚测试有效
    异乡有悟:@jk2K 我去....真的吗,我试试
  • 异乡有悟:我也是,设置了声音,然后到实机测试结果还是系统提示音,,,,也转caf了
    冷漠叻荭颜:@codeCui 本地推送我没有测试,我这篇文章只是写了远程推送
    异乡有悟:@冷漠叻荭颜 我用的是本地推送,打印出来
    fire date = 2016年10月28日 星期五 中国标准时间 下午8:28:03, user info = {
    sound = "test.caf";
    }}

    notification.soundName = @"test.caf";

    然而实机测试仍然是系统提示音,git的demo我下了,但没找到相关的代码内容啊,关于设置自定义提示音这块,哭哭 :fearful:
    冷漠叻荭颜:@codeCui 收到推送的内容是什么
  • rockybo:楼主,本地推送的声音还是修改不了
  • 王大先森:谢谢哦
  • Mr_Jia:非常感谢,最近正在弄这个,

本文标题:iOS 自定义通知声音

本文链接:https://www.haomeiwen.com/subject/rnqbhttx.html