Swift 触摸MPRemoteCommandCenter时播放/暂停闪烁

Swift 触摸MPRemoteCommandCenter时播放/暂停闪烁,swift,avplayer,mpremotecommandcenter,Swift,Avplayer,Mpremotecommandcenter,我正在开发用Swift编写的音乐播放器应用程序,音频流使用AVPlayer,一切正常 但是当我尝试将MPRemoteCommandCenter添加到我的应用程序时,有很多错误,我甚至不知道为什么会发生这种情况 AVPlayer的实现方式如下: 指挥中心, MPRemoteCommandCenter的实现方式如下: 除了您演示的代码外,您可能还调用了应用程序委托中的以下内容: UIApplication.shared.beginReceivingRemoteControlEvents() 除

我正在开发用
Swift
编写的音乐播放器应用程序,音频流使用
AVPlayer
,一切正常

但是当我尝试将MPRemoteCommandCenter添加到我的应用程序时,有很多错误,我甚至不知道为什么会发生这种情况

AVPlayer的实现方式如下:
指挥中心,

MPRemoteCommandCenter的实现方式如下:
除了您演示的代码外,您可能还调用了应用程序委托中的以下内容:

UIApplication.shared.beginReceivingRemoteControlEvents()
除了使用
MPRemoteCommandCenter.shared()
之外,执行此操作似乎会导致竞争条件

根据:

在iOS 7.1及更高版本中,使用共享MPRemoteCommandCenter对象注册远程控制事件。使用共享命令中心对象时,不需要调用此方法

此方法使用响应器链启动远程控制事件的传递


从你的应用程序代理中删除该方法,你就可以了。

如果你在代码中添加2个观察者来接收玩家通知。您可能会在播放器锁定屏幕中看到延迟或跳跃

避免添加观察者和目标

commandCenter.playCommand.addTarget(self, action: #selector(self.playCommand(_:)))

只有一次。当你不想要的时候就把它拿走

你有没有找到解决办法?我刚刚遇到了同样的问题…@mohamad你找到解决办法了吗?我有同样的问题。@RP-3不一样,您的回答曾经很有帮助,但当我再次尝试并删除
beginReceivingRemoteControlEvents
时,锁定屏幕中的播放器完全消失了。@Vipulk617否。。我在spotify这样的好应用程序中也看到了这一点。。
UIApplication.shared.beginReceivingRemoteControlEvents()
commandCenter.playCommand.addTarget(self, action: #selector(self.playCommand(_:)))