【发布时间】:2021-05-21 13:14:00
【问题描述】:
我有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")
}
}
如何解决?
播放和停止按钮可以正常工作,但倒带不起作用。
【问题讨论】:
标签: ios swift avaudioplayer