使用 MPNowPlayingInfoCenter 显示锁定屏幕图像不起作用

Posted

技术标签:

【中文标题】使用 MPNowPlayingInfoCenter 显示锁定屏幕图像不起作用【英文标题】:Showing a lock screen image using MPNowPlayingInfoCenter doesn't work 【发布时间】:2015-03-16 02:20:10 【问题描述】:

我有以下代码并且正在为我工​​作,但它目前只能显示艺术家和歌曲:

let mpic = MPNowPlayingInfoCenter.defaultCenter()

mpic.nowPlayingInfo = [MPMediaItemPropertyTitle:songs[currentAudioIndex].songName,
                        MPMediaItemPropertyArtist:songs[currentAudioIndex].artistName]

我也尝试使用以下代码设置图片,但它不起作用:

mpic.nowPlayingInfo = [MPMediaItemPropertyTitle:songs[currentAudioIndex].songName,
                    MPMediaItemPropertyArtist:songs[currentAudioIndex].artistName,
                    MPMediaItemPropertyArtwork:songs[currentAudioIndex].songImage]

SongImage 是 UIImage 类型。

【问题讨论】:

不起作用是什么意思?任何异常、错误消息? 没关系,谢谢 【参考方案1】:

没关系,我想通了。

如果有人想学习,你必须 执行以下操作

    let mpic = MPNowPlayingInfoCenter.defaultCenter()

// 使用 UIImage 初始化 MPMediaItemArtWork 的实例

    var albumArtWork = MPMediaItemArtwork(image: songs[currentAudioIndex].songImage)

//然后分配给MPNowPlayingInfoCenter

    mpic.nowPlayingInfo = [
        MPMediaItemPropertyTitle:songs[currentAudioIndex].songName,
        MPMediaItemPropertyArtist:songs[currentAudioIndex].artistName,
        MPMediaItemPropertyArtwork:albumArtWork

    ]

希望这可以帮助那些也在为此苦苦挣扎的人。

谢谢

【讨论】:

正确。我只是想告诉你这个!很好的研究。注意发帖是如何让你自己弄清楚的。下次,节省带宽并使用“橡皮鸭”。 :)【参考方案2】:
                MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = [MPMediaItemPropertyArtist : AudioCenter.sharedInstnce.currentReciter().name,
                                                                     MPMediaItemPropertyTitle : AudioCenter.sharedInstnce.currentSurah()!.name,
                                                                     MPMediaItemPropertyArtwork:MPMediaItemArtwork(image: UIImage(named: "Logo")!)]

【讨论】:

以上是关于使用 MPNowPlayingInfoCenter 显示锁定屏幕图像不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中更新 MPNowPlayingInfoCenter?

暂停播放时 MPNowPlayingInfoCenter 没有正确反应

MPNowPlayingInfoCenter 在音频流停止时消失

MPNowPlayingInfoCenter 在通过播放音频时始终处于“正在播放”状态

iOS 7 上的 MPNowPlayingInfoCenter AVPlayer

Swift 2.0 中的远程控制 (MPNowPlayingInfoCenter)