然而,我实现了适当的MPRemoteCommandCenter功能,播放按钮在carplay应用程序中根本没有响应。
(在使用CarPlay 14之前,它可以正确地使用iOS 14,使用MPPlayableContentManager)
非MPRemoteCommandCenter回调正在被调用。
可能是什么原因?
我设置远程命令中心的代码:
func setupRemoteCommandCenterTargets() {
let commandCenter = MPRemoteCommandCenter.shared()
commandCenter.playCommand.isEnabled = true
commandCenter.playCommand.addTarget {event in
//myPlayer.play()
return .success
}
commandCenter.pauseCommand.isEnabled = true
commandCenter.pauseCommand.addTarget {event in
//myPlayer.pause()
return .success
}
commandCenter.nextTrackCommand.isEnabled = true
commandCenter.nextTrackCommand.addTarget {event in
//myPlayer.next()
return .success
}
commandCenter.previousTrackCommand.isEnabled = true
commandCenter.previousTrackCommand.addTarget {event in
//myPlayer.prev()
return .success
}
}

发布于 2022-08-10 07:17:42
我知道这个问题很老,但最近也遇到了同样的问题。我的推论是,当MPNowPlayingInfoPropertyIsLiveStream设置为true时,音频被认为是一个活动流,在这种情况下,您不应该使用来自控制中心的暂停按钮,而应该使用停止按钮。
实际上,如果您实现停止命令:
commandCenter.stopCommand.addTarget { [unowned self] event in
// myPlayer.pause()
return .success
}控制中心在iPhone上也会发生变化,而不仅仅是在CarPlay上,活动流的按钮变成“停止”。
我不知道为什么在CarPlay上,默认情况下按钮是“停止”,而不是暂停,但这将解决问题。
https://stackoverflow.com/questions/69697947
复制相似问题