【发布时间】:2019-04-17 10:35:31
【问题描述】:
自从我更新到 ios 12.2 后,锁屏控件停止为我工作,我不知道为什么。它在 ios 12.1 中运行良好
- 应用已启用
capabilities->Background mores -> Audio - 我设置
UIApplication.shared.beginReceivingRemoteControlEvents() -
然后我设置
MPRemoteCommandCenter.shared().playCommand.isEnabled = true MPRemoteCommandCenter.shared().pauseCommand.isEnabled = true MPRemoteCommandCenter.shared().playCommand.addTarget(self, action:#selector(self.playPlayer)) MPRemoteCommandCenter.shared().pauseCommand.addTarget(self, action: #selector(self.pausePlayer)) 然后
AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback) and AVAudioSession.sharedInstance().setActive(true)
我使用AVPlayer 和AVPlayer 项目。 Locksceen 控件永远不会出现在 ios 12.2 上。知道是什么导致了这个问题吗?谢谢
(我使用 xcode 10.2 和 swift 4.2)
编辑:我发现只有当设备在线时才会发生这种情况。如果我立即玩,锁屏控件会出现,然后在几秒钟内消失。如果我稍后再玩,它们将不会出现。因此,它们似乎在应用启动后几秒钟工作,然后就没有了
编辑 2:现在已修复。问题是由应用程序将本地 html 文件加载到 webview 引起的。与播放完全无关,仅此而已。解决办法是不加载webview
【问题讨论】:
-
“设备在线时”是什么意思?
-
@matt 可以访问互联网(wifi 已打开)
-
为什么会有不同?你在播放某种流媒体音频吗?
-
@matt 我尝试了本地和远程文件。我弄清楚那是什么。这是因为在应用程序的另一部分我将 html 文件加载到 webview 中!我不知道为什么,但这是个问题
-
好的,这真的很有趣!您在 web 视图中加载的 html 文件可能有一个音频组件,它作为远程目标(或其他东西)接管。无论如何,这可能对其他人完全有用,所以请不要在问题中回答您自己的问题,而是将答案添加为 answer(是的,这是合法且受鼓励的,并且在 48 小时内您可以甚至接受你自己的答案)。并祝贺您出色的侦探工作。
标签: ios avfoundation avplayer lockscreen