MPNowPlayingInfoCenter и Avplayercontroller отображают неверную информацию на экране блокировки - PullRequest
0 голосов
/ 24 марта 2019

У меня проблема с информацией, отображаемой в информационном центре экранов блокировки устройства при воспроизведении видеофайлов с помощью avplayercontroller.

Я следовал рекомендациям по реализации MPNowPlayingInfoCenter и обновлению его содержимого, но похоже, что avplayercontroller переопределяет всю информацию, которую я хочу отобразить.

Я всегда получаю инфо-центр экрана блокировки, на котором отображается логотип моего приложения, название устройства, название моего приложения, кнопка воспроизведения / паузы и ползунок времени.

Я попытался отключить обновление информационного центра с помощью avplayercontroller. При этом кажется, что информационный центр полностью отключен и просто больше не появляется.

Вот как я устанавливаю информацию центра информации:

func setNowPlayingInfo()
{
    var nowPlayingInfo = [String: Any]()

    // prepare title and subtitle
    nowPlayingInfo[MPMediaItemPropertyTitle] = "Movie Title"
    nowPlayingInfo[MPMediaItemPropertyArtist] = "Actor Name"

    // asynchronously download movie art image.
    // here, for simplicity, an image from asset catalog is loaded
    if let movieArt = UIImage(named: "cover-art") {
        nowPlayingInfo[MPMediaItemPropertyArtwork] = MPMediaItemArtwork(boundsSize: movieArt.size, requestHandler: { imageSize in
            return movieArt
        })
    }
    nowPlayingInfo[MPNowPlayingInfoPropertyIsLiveStream] = true
    nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = playerItems[0].asset.duration.seconds
    nowPlayingInfo[MPNowPlayingInfoPropertyPlaybackRate] = player.rate
    nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = playerItems[0].currentTime().seconds
    MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo
}

и вот что я пытался остановить переопределение информации с помощью avplayercontroller:

avplayerViewController.updatesNowPlayingInfoCenter = false

Кажется, я не могу найти способ изменить информацию, которую avplayercontroller устанавливает в информационном центре экрана блокировки, или как отобразить информационный центр все вместе, если он обновляется, если для avplayercontroller установлено значение false.

Я открыт для любых предложений. Я действительно не понимаю, почему информационный центр не появляется, если я запрещаю его обновление от avplayercontroller.

Заранее спасибо за любые советы, которые вы могли бы дать мне, чтобы это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...