在文章Handling External Player Events Notifications中 苹果说,您需要这样做:
•使用共享的MPRemoteCommandCenter对象为您要处理的事件注册处理程序,并禁用您不希望接收的事件。
•开始播放音频。您的应用程序必须是“正在播放”应用程序。应用开始播放音频之前,不会接收远程控制事件。使用Control Center来测试您的应用是否正确接收和处理了远程控制事件,您可以通过从屏幕底部向上滑动来访问该事件。这些控件将远程控制事件发送到当前或最近播放音频的应用程序。您还可以从设备的锁定屏幕访问播放控件。
第二部分只能在iOS上应用,并且可以在其中运行。但是,不确定如何在macOS上处理此问题。我假设需要设置的一件事是设置MPNowPlayingInfoCenter
。但是无法在macOS的“控制中心”中进行检查,我想唯一的方法是通过检查TouchBar音频控件,但似乎并没有效果。因此,可能需要在iOS上设置类似AVAudioSession
的东西,但在macOS上找不到类似的东西。而且几乎没有文档。
请注意,我在文本语音转换应用中使用了此功能,因此无法使用某些API,例如AVPlayer
。
答案 0 :(得分:2)
我找到了答案-是的,设置MPNowPlayingInfoCenter
就足够了,关键部分是设置playbackState
。