0

我试图在锁定屏幕中显示命令中心而不是为我工作,我看到了本教程中的代码,并编写了相同的代码但也无法正常工作 https://github.com/lukagabric/LGAudioPlayerLockScreen

这是代码

  var nowPlayingInfo = [MPMediaItemPropertyTitle: currentPlaybackItem.trackName,
                          MPMediaItemPropertyAlbumTitle: currentPlaybackItem.albumName,
                          MPMediaItemPropertyArtist: currentPlaybackItem.artistName,
                          MPMediaItemPropertyPlaybackDuration: audioPlayer.duration,
                          MPNowPlayingInfoPropertyPlaybackRate: NSNumber(value: 1.0 as Float)] as [String : Any]

    if let image = UIImage(named: currentPlaybackItem.albumImageName) {
        nowPlayingInfo[MPMediaItemPropertyArtwork] = MPMediaItemArtwork(image: image)
    }
    self.nowPlayingInfoCenter.nowPlayingInfo = nowPlayingInfo

任何人都可以提供帮助

4

2 回答 2

1

我注意到在尝试更新现在播放信息字典时,您必须用数据填充键,甚至是空字符串。

你确定trackName, albumName,artistName不是 nil 吗?

ModernAVPlayer有一个很好的例子:检查这个“NowPlaying”代码

于 2018-12-31T11:11:06.957 回答
0

谢谢大家,我找到了解决方案,我在 set 类别中的最后一个代码

self.audioSession.setCategory(AVAudioSession.Category.playback , mode: .default , options: .mixWithOthers )

解决方案是

self.audioSession.setCategory(AVAudioSession.Category.playback , mode: .default , options: .init(rawValue: 0) )
于 2019-01-16T19:27:06.843 回答