停止来电中的音乐,然后重新启动iOS Swift

问题描述

我想在有人打电话给我时完全停止音乐,如果我打电话给别人,是否可以请您分享一下当有人打电话给我时停止音乐的知识?

代码:

override func viewDidLoad() {
    super.viewDidLoad()
    let url:NSURL = NSBundle.mainBundle().URLForResource("sound",withExtension: "mp3")!
    do {
        player = try AVAudioPlayer(contentsOfURL: url,fileTypeHint: nil)
    } catch {
        return;
    }
    player.play()
}

解决方法

此代码可以很好地解决上述问题。

代码:-

override func viewDidLoad() {
    super.viewDidLoad()
    setupForCallMethod()
}

func setupForCallMethod() {
  NotificationCenter.default.addObserver(self,selector: #selector(playerInterruption),name: AVAudioSession.interruptionNotification,object: AVAudioSession.sharedInstance())
}

@objc func playerInterruption(notification: NSNotification) {
    guard let userInfo = notification.userInfo,let typeValue = userInfo[AVAudioSessionInterruptionTypeKey] as? UInt,let type = AVAudioSession.InterruptionType(rawValue: typeValue) else {
            return
    }
    if type == .began {
        self.MusicPauseMethod()
    }else if type == .ended {
        self.MusicPlayMethod()
    }
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...