问题 如何为UILocalNotification添加声音?


我已完成我的应用程序的基本通知。我想为我的通知添加声音效果。

UILocalNotification *localNotification = [[UILocalNotification alloc] init];
if (localNotification == nil)
    return;

localNotification.fireDate = [NSDate date];
//localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = msg;
localNotification.soundName = @"Morse.aiff";

[[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];

如何添加音效?


7512
2018-01-03 07:04


起源

“localNotification.soundName = @”Morse.aiff“;”是声音的属性,你应该在你的捆绑资源中有一个同名的声音文件。 - spider1983
我可以在库/声音中使用默认声音提示..如果是,如何使用?因为我没有任何特定声音的警报视图...我可以下载一些在哪里... - user2813740
另请查看“通知中心设置”,选择您的应用并确保已启用声音。要使用默认声音,您需要: localNotification.soundName = UILocalNotificationDefaultSoundName; - Otto Boy
是的,我已经尝试了那个,但没有声音即将来临......我的意思是什么......是我需要添加任何框架或某些东西或任何设置我必须做... - user2813740
如果您使用iOS7,默认情况下会禁用通知声音。只有用户才能打开它。 - Shmidt


答案:


你可能想从阅读开始 准备自定义警报声音 本地和推送通知编程指南(确保您的自定义声音短于30秒)。

如果要使用默认声音:使用 UILocalNotificationDefaultSoundName (按照Euroboy的建议)

更新: 你似乎并不是唯一遇到这个问题的人。描述了一种可能的(但当然不是很好的)解决方案 这里


12
2018-01-03 08:15



是的,我已经尝试过那个,但没有声音来了。是我需要添加任何框架或某些东西或任何我必须做的设置... - user2813740
您使用的是自定义声音还是默认声音? - tilo
我试过默认的..但我听不到任何东西所以我想如果可能使用自定义,我可以使用默认一个没问题,只要我在通知消息上获得一些声音效果。但它不起作用...... - user2813740
我也按照建议使用默认值,但我什么都没听到? - anders


在我的情况下,问题是我忘了注册UIUserNotificationTypeSound。如果没有注册到UIUserNotificationTypeSound,您的应用程序将不会在“通知设置”下提供“声音”选项。

以下是本地和远程通知编程指南中的代码片段(已经在上面添加了一个链接)。

UIUserNotificationType types = UIUserNotificationTypeBadge |
UIUserNotificationTypeSound | UIUserNotificationTypeAlert;

UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];

[[UIApplication sharedApplication] registerUserNotificationSettings:mySettings];

添加该代码后,您可以在应用程序的通知设置中启用声音选项。


2
2018-02-10 22:10





尝试播放mp3文件作为本地通知声音时,我遇到了类似的问题。 声音短于30秒,它被捆绑在一起,表面上的一切都显得规则。 几个小时后,我意识到问题是由在线mp3切割工具引起的。 我找到了更好的编辑器,并且文件在通知时变得可玩了。

如果使用某个工具编辑mp3文件,编辑工具可能会遗漏某些内容。

可能是你的问题也是由声音编辑器或声音格式转换器引起的。


1
2018-03-30 20:58





我发现在本地通知中播放自定义声音非常简单的解决方案。 1.通常声音与aiff格式完美配合。 2.当您添加自定义声音时,请检查此声音是否添加到“构建阶段” 3.您已添加自定义声音但是再次播放基本系统警报? - 从设备中删除应用程序并重新启动。连接设备并再次编译应用程序后。 4.利润!它会工作!

PS:如果你有iOS 10,这是解决方案。我怎么理解这是系统包...


0
2017-11-21 19:35





您需要确保资源文件已选择目标成员资格。对于我的情况,它没有被检查,并且通知仍然是系统默认的。


0
2018-02-26 07:58