在 tvOS 后台接收 "Siri remote" 事件
Receive "Siri remote" event in background on tvOS
我已经为 tvOS 制作了一个广播播放器,但我不希望音频流在后台继续播放。所有这些都很好用,而且非常简单。
但是,如果在后台按下 "play/pause" 按钮,我想停止 stream/audio。但我不知道该怎么做。
我只希望它停止,而不是暂停。这就是 Apple Radio 的工作原理。
我正在使用界面生成器设置的新闻事件和操作来处理我的所有输入。
到目前为止,我发现它是如何在 iOS 上工作的,并且有人建议我使用,但 remoteControlReceivedWithEvent 从未被调用(甚至在前台也不被调用)。
非常感谢您对此提供的任何帮助,尤其是如果您有幸自己实施的话;)
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
override func remoteControlReceivedWithEvent(event: UIEvent?) {}
这我能够使用 MediaPlayer's
MPRemoteCommandCenter
开始工作
func setupRemoteCommandCenter() {
let remoteCommandCenter = MPRemoteCommandCenter.sharedCommandCenter()
let pauseCommand = remoteCommandCenter.pauseCommand
pauseCommand.enabled = true
pauseCommand.addTarget(self, action: "pauseEvent")
}
func pauseEvent() {
pause()
}
我已经为 tvOS 制作了一个广播播放器,但我不希望音频流在后台继续播放。所有这些都很好用,而且非常简单。
但是,如果在后台按下 "play/pause" 按钮,我想停止 stream/audio。但我不知道该怎么做。 我只希望它停止,而不是暂停。这就是 Apple Radio 的工作原理。
我正在使用界面生成器设置的新闻事件和操作来处理我的所有输入。 到目前为止,我发现它是如何在 iOS 上工作的,并且有人建议我使用,但 remoteControlReceivedWithEvent 从未被调用(甚至在前台也不被调用)。
非常感谢您对此提供的任何帮助,尤其是如果您有幸自己实施的话;)
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
override func remoteControlReceivedWithEvent(event: UIEvent?) {}
这我能够使用 MediaPlayer's
MPRemoteCommandCenter
func setupRemoteCommandCenter() {
let remoteCommandCenter = MPRemoteCommandCenter.sharedCommandCenter()
let pauseCommand = remoteCommandCenter.pauseCommand
pauseCommand.enabled = true
pauseCommand.addTarget(self, action: "pauseEvent")
}
func pauseEvent() {
pause()
}