我正在创建一个使用MPMediaItems和MPMediaPlayerController的音乐播放器(在Swift 3中)。我不能为我的生活弄清楚如何从锁定屏幕或通知中心控制音乐...iOS Swift - MPCommandCenter&NowPlayingInfoCenter控制音乐锁屏
我已阅读每篇文章,我可以找到关于MPRemoteCommandCenter和MPNowPlayingInfoCenter,我无法得到它的工作。
我已启用背景音乐播放功能,目前音乐仍在应用程序之外播放,但未收到远程命令。
下面是目前正在使用
在我看来代码没有加载我调用下面的函数
let player = MPMusicPlayerController.applicationMusicPlayer()
let commandCenter = MPRemoteCommandCenter.shared()
func configureCommandCenter() {
print("Enter configuration")
self.commandCenter.playCommand.addTarget { [weak self] event -> MPRemoteCommandHandlerStatus in
guard let sself = self else { return .commandFailed }
print("Play")
sself.player.play()
self?.getNowPlayingItem()
return .success
}
self.commandCenter.pauseCommand.addTarget { [weak self] event -> MPRemoteCommandHandlerStatus in
guard let sself = self else { return .commandFailed }
print("Pause")
sself.player.pause()
self?.getNowPlayingItem()
return .success
}
self.commandCenter.nextTrackCommand.addTarget { [weak self] event -> MPRemoteCommandHandlerStatus in
guard let sself = self else { return .commandFailed }
print("next")
sself.player.skipToNextItem()
self?.getNowPlayingItem()
return .success
}
self.commandCenter.previousTrackCommand.addTarget { [weak self] event -> MPRemoteCommandHandlerStatus in
guard let sself = self else { return .commandFailed }
print("Prev")
sself.player.skipToPreviousItem()
self?.getNowPlayingItem()
return .success
}
}
要重申我的项目编译好,播放媒体,继续播放媒体时,应用不支持重点和手机被锁定时,但是在应用程序内没有看到任何命令,导致应用程序无法通过锁定屏幕或通知中心进行控制。任何帮助将不胜感激。
我还想提一下,我已经查看了与RemoteCommands和InfoCenter相关的Apple API文档。
我错过了一些关键步骤,以获得从应用程序内注册远程命令?
不相关,但你应该删除你的'viewDidAppear'。这不相关。您将旧的MPRemoteCommandCenter方式与新的MPRemoteCommandCenter方式相结合。没有意义。 – matt
这些是我目前使用角色扮演角色的两个相关功能......而且他们确实可以编译,你能详细说明为什么你认为他们不会?也许这就是为什么我没有收到命令的一部分? – Jerland2
@matt,谢谢我将删除函数我不知道有一种新旧方式,这是我第一次使用这些库的经验 – Jerland2