Управление звуком на экране блокировки с помощью AudioKit
Я использую AudioKit для управления звуковым движком в моем приложении. Я думаю, что настройки AudioKit что-то перекрывают, и я не могу получить управление звуком на экране блокировки. Это код, который у меня есть в настоящее время:
//Configure media control center
UIApplication.shared.beginReceivingRemoteControlEvents()
let commandCenter = MPRemoteCommandCenter.shared()
commandCenter.pauseCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
//Update your button here for the pause command
return .success
}
commandCenter.playCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
//Update your button here for the play command
return .success
}
У меня есть это в функции, которая устанавливает все мои настройки AudioKit, но это не работает. Существует ли специальная процедура для управления звуком на экране блокировки с помощью AudioKit?
3 ответа
Вы должны написать этот код в appdelegate для реализации:
do {
try AVAudioSession.sharedInstance().setActive(true)
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
}catch{
}
UIApplication.shared.beginReceivingRemoteControlEvents()
You have to rewrite this methord:
//MARK:-音乐播放相应后台状态
override func remoteControlReceived(with event: UIEvent?) {
if (event?.type == .remoteControl) {
NotificationCenter.default.post(name: NSNotification.Name(rawValue: Configs.remotePlayCotrolNotificaation), object: nil, userInfo: ["event":event!])
}
}