我遇到了一个主要障碍。我正在尝试在本地通知触发时播放自定义声音。它只是不起作用,我不知道该怎么办。
我有不同格式的自定义声音,但没有用。我在应用程序包中有声音。我在设置中启用了airplay。我也在通知代码中设置了它。当应用程序处于前台或后台并且通知触发时,它永远不会播放。是否锁定屏幕。每个在线资源都表明我做对了。
我正在使用 swift 5 和 Xcode 10.3,目标是 iOS 15+
这里是通知代码。在控制器中设置的通知代码不是 appDelegete。我无法显示整个类文件。我正在导入 AVFoundation 和 UserNotifications。我正在扩展 AVAudioPlayerDelegate
` UNUserNotificationCenter.current().getNotificationSettings { (settings) in
guard settings.authorizationStatus == .authorized else { return }
let content = UNMutableNotificationContent()
content.categoryIdentifier = "alarmNotification"
content.title = "Alarm"
content.subtitle = ""
content.body = ""
// content.sound = UNNotificationSound.default
content.sound = UNNotificationSound.init(named: UNNotificationSoundName(rawValue: "a1.mp3"))
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 10, repeats: false)
let uuidString = UUID().uuidString
let request = UNNotificationRequest(identifier: uuidString, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, options: AVAudioSession.CategoryOptions.mixWithOthers)
NSLog("Playback OK")
try AVAudioSession.sharedInstance().setActive(true)
NSLog("Session is Active")
} catch {
NSLog("ERROR: cannot play music in the bgackground: \"\(error)\"")
}`
我在应用程序包中有自定义声音
和
和
我尝试将自定义声音设置为 .caf、.mp3、.aiff,但它不起作用。当本地通知触发时,我还需要做什么来播放自定义声音?我对 Mac、swift 5 和 Xcode 完全不熟悉并且是新手,所以如果您提供帮助,请彻底解释这些步骤。谢谢!