簡體   English   中英

iOS Swift-MPCommandCenter和NowPlayingInfoCenter在鎖定屏幕上控制音樂

[英]iOS Swift - MPCommandCenter & NowPlayingInfoCenter Controlling Music on Lock Screen

我正在創建一個使用MPMediaItems和MPMediaPlayerController的音樂播放器(在Swift 3中)。 我一輩子都想不通如何從鎖定屏幕或通知中心控制音樂...

我已經閱讀了所有可以在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文檔。

我是否缺少一些關鍵步驟以便從應用程序中注冊遠程命令?

問題是您的播放器是MPMusicPlayerController.applicationMusicPlayer() 您不能將應用程序音樂播放器用作遠程控制目標。

如果要使用遠程控制目標功能,則需要將播放器設置為AVAudioPlayer之類的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM