Swift: кнопки перемотки на заблокированном экране
У меня есть AVAudioPlayer. И я хочу добавить 15-секундные кнопки перемотки на экран блокировки, как на этом изображении:
Но у меня такой результат, как на этом изображении:
Мой код:
var audioPlayer: AVAudioPlayer!
override func viewDidLoad() {
super.viewDidLoad()
try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try? AVAudioSession.sharedInstance().setActive(true)
UIApplication.shared.beginReceivingRemoteControlEvents()
...
audioPlayer = try AVAudioPlayer(contentsOf: soundURL!)
audioPlayer.delegate = self
audioPlayer.prepareToPlay()
play(sender:AnyObject.self as AnyObject)
restorePlayerCurrentTime()
}
override func remoteControlReceived(with event: UIEvent?) {
guard let event = event else {
print("no event\n")
return
}
guard event.type == UIEventType.remoteControl else {
print("received other event type\n")
return
}
switch event.subtype {
case UIEventSubtype.remoteControlBeginSeekingBackward:
audioPlayer.play()
case UIEventSubtype.remoteControlBeginSeekingForward:
audioPlayer.pause()
case UIEventSubtype.remoteControlPlay:
print("received remote play\n")
audioPlayer.play()
case UIEventSubtype.remoteControlPause:
print("received remote pause\n")
audioPlayer.pause()
/*case UIEventSubtype.remoteControlTogglePlayPause:
print("received toggle\n")*/
default:
print("received \(event.subtype) which we did not process\n")
}
}
Как это исправить?
Кнопки паузы и плей работают нормально, но перемотка не работает и иконка не меняется.

