我正在創建一個使用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