我已经为我的应用程序完成了基本通知。我想为我的通知添加声音效果。
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];
如何添加音效?
答案 0 :(得分:12)
您可能需要先阅读本地和推送通知编程指南的Preparing Custom Alert Sounds(确保您的自定义声音短于30秒)。
如果您想使用默认声音:使用UILocalNotificationDefaultSoundName
(按照Euroboy的建议)
更新:您似乎并不是唯一遇到此问题的人。描述了一种可能的(但当然不是很好的)解决方案here。
答案 1 :(得分:2)
在我的情况下,问题是我忘记注册UIUserNotificationTypeSound。如果没有注册到UIUserNotificationTypeSound,您的应用程序将不会在通知设置下提供“声音”选项。
以下是本地和远程通知编程指南中的代码段(已经在上面添加了链接)。
UIUserNotificationType types = UIUserNotificationTypeBadge |
UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:mySettings];
添加该代码后,您可以在应用的通知设置中启用声音选项。
答案 2 :(得分:1)
在尝试播放mp3文件作为本地通知声音时,我遇到了类似的问题。 声音短于30秒,它被捆绑在一起,表面上的一切都显得规则。 几个小时后,我意识到问题是由在线mp3切割工具引起的。 我找到了更好的编辑器,并且文件在通知时变得可玩。
如果使用某个工具编辑mp3文件,编辑工具可能会遗漏某些内容。
可能是您的问题也是由声音编辑器或声音格式转换器引起的。
答案 3 :(得分:0)
我找到了在本地通知中播放自定义声音的非常简单的解决方案。 1.通常声音与aiff格式完美配合。 2.当您添加自定义声音时,请检查此声音是否已添加到"构建阶段" 3.您已添加自定义声音但是再次播放基本系统警报? - 从设备中删除应用程序并重新启动。连接设备并再次编译应用程序后。 4.利润!它会起作用!
PS:如果你有iOS 10,这是解决方案。我如何理解这是系统包..
答案 4 :(得分:0)
您需要确保资源文件已选择目标成员资格。对于我的情况,它没有被检查,并且通知仍然是系统默认的。