Как правильно настроить отображение времени трека в MPNowPlayingInfoCenter - PullRequest
0 голосов
/ 01 августа 2020

Я создал MPNowPlayingInfoCenter и передал в него текущее время трека и общее время трека. Но возникает такая проблема. Если я приостановлю дорожку в MPNowPlayingInfoCenter, подожду некоторое время, а затем нажму кнопку воспроизведения, то я увижу, что текущее время изменилось, хотя оно должно было остаться на том же месте, потому что дорожка не воспроизводилась. Как это обойти?

...
func setupNotificationView(...) {
        nowPlayingInfo = [String : Any]()
        ...
 
        nowPlayingInfo?[MPMediaItemPropertyPlaybackDuration] = track.duration
        nowPlayingInfo?[MPNowPlayingInfoPropertyElapsedPlaybackTime] = player.currentTime().seconds
        nowPlayingInfo?[MPNowPlayingInfoPropertyPlaybackRate] = player.rate
        
        MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo
    }
...
func setupMediaPlayerNotificationView() {
        let commandCenter = MPRemoteCommandCenter.shared()
        
        commandCenter.playCommand.addTarget { [unowned self] event in
            if self.player.rate == 0.0 {
                self.player.play()
                return .success
            }
            return .commandFailed
        }
        
        commandCenter.pauseCommand.addTarget { [unowned self] event in
            if self.player.rate == 1.0 {
                self.player.pause()
                return .success
            }
            return .commandFailed
        }
        ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...