关于 avplayer:在 tvOS 后台接收”Siri 远程”事件

Receive "Siri remote" event in background on tvOS

我为 tvOS 制作了一个收音机播放器,但我不想让音频流在后台继续播放。所有这一切都很好,而且很容易。

但是,如果在后台按下"播放/暂停"按钮,我想停止流/音频。但我无法弄清楚如何做到这一点。
我只希望它停止,而不是暂停。这就是 Apple Radio 的工作原理。

我正在使用 Press 事件和 Actions 处理我的所有输入,从界面构建器设置。
到目前为止,我发现它在 iOS 上是如何工作的,并且有人建议我使用它,但是从来没有调用 remoteControlReceivedWithEvent (甚至在前台也没有)。

非常感谢您对此提供的任何帮助,特别是如果您有幸自己实现了它;)

1
2
3
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()

override func remoteControlReceivedWithEvent(event: UIEvent?) {}


这我能够使用 MediaPlayer's MPRemoteCommandCenter

开始工作

1
2
3
4
5
6
7
8
9
10
11
func setupRemoteCommandCenter() {
    let remoteCommandCenter = MPRemoteCommandCenter.sharedCommandCenter()

    let pauseCommand = remoteCommandCenter.pauseCommand
    pauseCommand.enabled = true
    pauseCommand.addTarget(self, action:"pauseEvent")
}

func pauseEvent() {
    pause()
}