繁体   English   中英

远程通知iOS 10中的自定义声音,swift 3

[英]Custom sounds in remote notifications iOS 10, swift 3

我对远程通知中的自定义声音存在很大问题。

这是我的情景:

我有两种类型的通知,每种通知都带有自定义声音。 当我的应用程序处于非活动状态或后台时,声音就像魅力一样,操作系统会在通知中心banner-alert中显示通知。

当在前台状态下收到通知时,我处理通知,提取aps声音元素并通过AVAudioPlayer播放声音:

func playSound(_ sound: String) {
    myLog("Let's play sound \(sound)")

    // Plays new sound file
    DispatchQueue.main.async  {
        // Stops last player if playing
        if (self.soundPlayer != nil) {
            if (self.soundPlayer.isPlaying) {
                self.soundPlayer.stop()
            }
        }
        do {
            let path = Bundle.main.path(forResource: sound, ofType:nil)!
            let url = URL(fileURLWithPath: path)
            self.soundPlayer = try AVAudioPlayer(contentsOf: url)
            self.soundPlayer.delegate = self
            if (self.soundPlayer.prepareToPlay()) {
                self.soundPlayer.play()
            }
        } catch let error  {
            myLog("Error playing .caf file: \(error)")
        }
    }

}

在这里开始问题。 如果应用程序返回后台 - 执行播放器代码时处于非活动状态,则通知中心的操作系统警报将不再播放自定义声音。

总结:

  • 应用程序无效 - 它接收通知的背景 - >自定义声音播放正常。

  • 应用程序前台接收通知 - >代码通过playSound函数播放声音然后如果应用程序在后台处于非活动状态时接收其他通知操作系统播放默认通知声音。

提前致谢。

问题自动解决。 删除应用,声音恢复正常行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM