播放本地通知的自定义声音

问题描述 投票:0回答:0

我遇到了一个主要障碍。我正在尝试在本地通知触发时播放自定义声音。它只是不起作用,我不知道该怎么办。

我有不同格式的自定义声音,但没有用。我在应用程序包中有声音。我在设置中启用了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)\"")
              }`

我在应用程序包中有自定义声音

image to view bundle 1

image to view bundle2

image for airplay

我尝试将自定义声音设置为 .caf、.mp3、.aiff,但它不起作用。当本地通知触发时,我还需要做什么来播放自定义声音?我对 Mac、swift 5 和 Xcode 完全不熟悉并且是新手,所以如果您提供帮助,请彻底解释这些步骤。谢谢!

xcode notifications swift5 uilocalnotification
© www.soinside.com 2019 - 2024. All rights reserved.