美文网首页恩美第二个APP项目iOS 开发技巧iOS
iOS推送自定义声音,震动,呼吸灯

iOS推送自定义声音,震动,呼吸灯

作者: 天怒人怨鬼见愁 | 来源:发表于2016-06-16 11:32 被阅读8444次

最近在做iOS推送时,想对推送时的声音,震动,呼吸灯进行控制。查了一下官方文档,问了一些做IM的朋友,声音和震动实现起来都不难,呼吸灯(iOS并没有像安卓那样的呼吸灯,只能用LED闪烁来代替)。

iOS支持的音频格式主要是aiff,wav,caf,具体文件需要放在mainBundle目录中。音频长度必须要在30秒以内,不然会被系统声音所取代。


首先我使用本地推送来做一个闹钟功能,具体代码:


在真机的声音键打开的情况下,_notification.soundName的值我随便设一个值,收到推送时的声音是系统自带的声音。_notification.soundName的值设为项目中所加的某一个音频文件是播放的是自定义的声音。在此种情况下,收到推送时都有声音和震动。在关闭了声音键后,此时收到推送是没声音有震动的。

我再次把_notification.soundName设为了nil,收到推送时是既没有声音也没有震动的。

但还有一种情况是需要考虑的,在音量键打开的情况下,怎么样才能实现没有声音但却有震动呢?我想到的办法是项目中加入一个没有声音的音频文件,把_notification.soundName设为这个音频的名字,那么在收到推送时就是有震动但没声音了。总结如下:


声音键开启时

1、想要既有声音和震动,_notification.soundName需要设为非空值。

2、想要自定义声音,_notification.soundName需要设为工程中某个文件的名字(带后缀)。

3、想要既没声音也没震动,_notification.soundName=nil;

4、想要有震动没声音,_notification.soundName需要设为工程中某个没有声音的音频文件。

声音键关闭时

1、想要震动,_notification.soundName需要设为非空值。

2、想无震动,_notification.soundName=nil;


在本地推送检测无误的情况,我又用极光测试了远程推送的情况。


收到的内容是这样的


成功的播出了自己的声音,perfect。

至于LED灯闪烁的问题,因为Notification里面没有LED相关的属性,并不能控制LED灯闪烁。在用户打开LED灯闪烁之后,只要收到推送就会闪烁。我个人觉得开发者最多能做到的是,在用户运行APP过程中收到推送,可以通过代码来控制LED灯闪烁。

PS:笔者在QQ,微信的安装包中都找到了一个没有声音的音频文件,个人推测腾讯的推送在iPhone声音键开启的情况下,想要只有震动没有声音的效果,应该也是播放一个没有声音的音频文件。

相关文章

  • iOS推送自定义声音,震动,呼吸灯

    最近在做iOS推送时,想对推送时的声音,震动,呼吸灯进行控制。查了一下官方文档,问了一些做IM的朋友,声音和震动实...

  • iOS 推送总结

    注册推送 收到推送 iOS10以前 iOS10之后 关于推送的声音播放 苹果默认的推送声音就不说了,需要播放自定义...

  • IOS推送自定义声音

    - (BOOL)application:(UIApplication*)application didFinish...

  • iOS推送自定义声音

    每天中午下去吃午饭,在电梯间外卖小哥的手机总会响起“你有一个美团外卖转单求助,请及时处理,注意交通安全。”哈???...

  • iOS 自定义推送声音

    核心步骤 制作满足系统要求的推送提示铃声(格式为aiff,wav,caf 格式文件,最多30s) 导入 Xcode...

  • ios自定义推送声音

    在终端敲入以下命令将音频转化为.caf格式 afconvert /System/Library/Sounds/Su...

  • iOS 推送自定义声音

    网上有很多博客说添加IOS10之后新增的Notification Service Extension才可以推送Ap...

  • ios远程推送自定义推送声音

    1.找个.mp3的文件2.在mac的终端输入:afconvert3.回车之后,再指定到你音频文件夹里。3.再输入:...

  • AngularJS 表单 数据绑定

    demo radio绑定 效果如图: checkbox绑定 铃声 震动 呼吸灯

  • ios 自定义远程推送声音

    传送门自定义不成功可能是版本的问题,我的10.3.3用caf文件无效,用mp3文件测试成功。

网友评论

  • 奇怪的她的他:楼主,,假如APP被杀死了,,还能播放自定义的铃声吗???
  • Sweet丶:你在现代国际大厦上班?我也在
  • 攻城狮V:楼主,你的文章对我帮助很大,不过还有个问题想要请教。本地接收推送消息的时候,只能震动一下,如何才能实现像闹钟一样一直震动?
  • 柳絮风微:请问音频怎么制作的?需要特定的格式转化器吗?
  • GUCHUNGANG:你好,我现在有一个需求,需要在前端加一个开关,可以控制是否播放语音,你有解决方案吗?
  • pengmengli:你好,想要有声音,没震动怎么办
  • 北冥风尘:您好,请问下, ,我这边播放只能播放六秒左右,但是我的音频文件有16秒,这个怎么延长播放时间呢
    北冥风尘:@PepperCurry 没有呢,在锁频情况下,可以播放三十秒内音频文件,所以就这样放着
    PepperCurry:请问有解决吗?
  • 纵横四海:有铃声 无震动 的呢?
  • linleiqin:楼主你好,应用杀死的时候收到本地通知怎么持续震动
  • 天山雪莲_38324:我实现了自定义推送声音,但是推送的声音比较小,这是怎么回事呢?
  • eAssh:远程推送的话,想要像微信语音电话那样,一直重复循环推送铃声怎么处理呢
    天怒人怨鬼见愁:@f27764a136bb 加个循环调用震动的API
    f27764a136bb:远程推送的时候,要实现和微信语音那样,持续的震动,是怎么实现的?
    天怒人怨鬼见愁:在APP内的时候循环播放一个语音文件就行了
  • f30b78145858:总结的很好,要声音,不要震动,这样的通知能实现吗?,
    f30b78145858:@天怒人怨鬼见愁 好吧,谢啦, 已经让客户改需求了。。。。
    天怒人怨鬼见愁:这个需求好像是不能实现:cold_sweat:
  • S_Lyu:好棒, 刚好有个需求:所有推送都不要声音, 不要震动...
  • zym_:这个推送声音,可以设置成可变的么?我们要把推送声音设为读出推送内容一部分
    天怒人怨鬼见愁:@myz_ soundname不一样,然后项目里有音频啊
  • Lin__Chuan:soundName设置为nil,是收不到通知的
    天怒人怨鬼见愁:@命中注定IU 本来就听不到声音,但是可以收到通知的
    命中注定IU:为什么我这里听不到声音
    天怒人怨鬼见愁:@一只正在路上的猪 谁说的?
  • 5d170d383dda:楼主总结的很详细,对我帮助很大,多谢了
  • handsome丶亮: 楼主总结的很详细,对我帮助很大,多谢了

本文标题:iOS推送自定义声音,震动,呼吸灯

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