<分区>
我是 Swift 的新手。我写信是因为我想问一个问题。我和我的 friend 正在开发一个音频播放器,但我们遇到了一个问题。播放器也可以在后台运行,并且可以通过锁屏和控制中心进行远程控制,但是如果音乐被这两个控件之一中断,我们播放器的播放/暂停按钮不会更新为正确的图标。 我的问题是,我怎样才能让播放器清楚地知道音乐正在通过一个 Remote 开始/停止,并且播放器会相应地采取行动,改变播放/暂停按钮的图标?非常感谢,我希望我已经清楚了。
<分区>
我是 Swift 的新手。我写信是因为我想问一个问题。我和我的 friend 正在开发一个音频播放器,但我们遇到了一个问题。播放器也可以在后台运行,并且可以通过锁屏和控制中心进行远程控制,但是如果音乐被这两个控件之一中断,我们播放器的播放/暂停按钮不会更新为正确的图标。 我的问题是,我怎样才能让播放器清楚地知道音乐正在通过一个 Remote 开始/停止,并且播放器会相应地采取行动,改变播放/暂停按钮的图标?非常感谢,我希望我已经清楚了。
最佳答案
您需要使用 MPRemoteCommandCenter
来执行此操作。例如在你的 viewControllers viewDidLoad()
你可以添加这个:
override func viewDidLoad() {
super.viewDidLoad()
UIApplication.shared.beginReceivingRemoteControlEvents()
let commandCenter = MPRemoteCommandCenter.shared()
commandCenter.pauseCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
//Update your button here for the pause command
return .success
}
commandCenter.playCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
//Update your button here for the play command
return .success
}
}
只需更改我包含的注释即可更新您的按钮 UI。您还需要导入 MediaPlayer
和 MediaPlayer.framework
(如果您尚未这样做的话)。
关于swift - AudioPlayer 和锁屏/控制中心控制 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42897354/