Ios MPRemoteCommandCenter导致音频播放两次
我正在使用AVPlayer播放音频。我在viewDidLoad上设置遥控器Ios MPRemoteCommandCenter导致音频播放两次,ios,swift,Ios,Swift,我正在使用AVPlayer播放音频。我在viewDidLoad上设置遥控器 let commandCenter = MPRemoteCommandCenter.shared() commandCenter.pauseCommand.isEnabled = true commandCenter.playCommand.isEnabled = true commandCenter.stopCommand.isEnabled = tru
let commandCenter = MPRemoteCommandCenter.shared()
commandCenter.pauseCommand.isEnabled = true
commandCenter.playCommand.isEnabled = true
commandCenter.stopCommand.isEnabled = true
commandCenter.togglePlayPauseCommand.isEnabled = true
commandCenter.nextTrackCommand.isEnabled = true
commandCenter.previousTrackCommand.isEnabled = true
if #available(iOS 13, *){
// Add handler for Play Command
commandCenter.playCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
if self.isReadyToPlay, let player = self.audioPlayer, player.timeControlStatus != .playing {
self.playCC()
return .success
}
return .commandFailed
}
// Add handler for Pause Command
commandCenter.pauseCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
if self.isReadyToPlay, let player = self.audioPlayer, player.timeControlStatus == .playing {
self.pauseCC()
return .success
}
return .commandFailed
}
commandCenter.stopCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
self.pauseCC()
return MPRemoteCommandHandlerStatus.success
}
commandCenter.togglePlayPauseCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
self.playPauseCC()
return MPRemoteCommandHandlerStatus.success
}
commandCenter.nextTrackCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
self.nextCC()
return MPRemoteCommandHandlerStatus.success
}
commandCenter.previousTrackCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
self.prevCC()
return MPRemoteCommandHandlerStatus.success
}
} else {
commandCenter.pauseCommand.addTarget(self, action: #selector(self.pauseCC))
commandCenter.playCommand.addTarget(self, action: #selector(self.playCC))
commandCenter.stopCommand.addTarget(self, action: #selector(self.pauseCC))
commandCenter.togglePlayPauseCommand.addTarget(self, action: #selector(self.playPauseCC))
commandCenter.nextTrackCommand.addTarget(self, action: #selector(self.nextCC))
commandCenter.previousTrackCommand.addTarget(self, action: #selector(self.prevCC))
}
我打电话给你,你会消失的
let commandCenter = MPRemoteCommandCenter.shared()
commandCenter.playCommand.removeTarget(self)
commandCenter.pauseCommand.removeTarget(self)
commandCenter.previousTrackCommand.removeTarget(self)
commandCenter.nextTrackCommand.removeTarget(self)
if #available(iOS 9.1, *) {
commandCenter.changePlaybackPositionCommand.removeTarget(self)
}
不幸的是,有时我从遥控器播放音频(应用程序在后台),音频播放两次。我做错了什么?如果你找到我真正想知道的事情,我也有同样的问题。谢谢你找到原因了吗?我也有同样的问题