我正在尝试使用自定义提醒声音安排本地通知。这么简单我把我的警报拖到app上提到它的名字:
let notification = UILocalNotification()
notification.fireDate = date
notification.alertBody = title
notification.soundName = "yearlyReminder.caf"
UIApplication.sharedApplication().scheduleLocalNotification(notification)
注册通知:
let notificationSettings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(notificationSettings)
我也试过WAV,MP3,AIFF,M4A
但是这些文件格式没有用!!我的声音不到30秒,并以各种格式进行测试,但每次通知收到声音都是UILocalNotificationDefaultSoundName
有什么问题?
问题已解决:转换后的文件出现了问题,我使用了另一个 转换器和固定。
答案 0 :(得分:0)
你可以这样做,它会起作用:
if let soundURL = NSBundle.mainBundle().URLForResource("yearlyReminder", withExtension: "caf") {
var mySound: SystemSoundID = 0
AudioServicesCreateSystemSoundID(soundURL, &mySound)
// Play
AudioServicesPlaySystemSound(mySound);
}
使用此方法的最佳方法是,无论用户是在应用内部还是应用程序在后台运行,声音都会播放。