使用 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 在通过播放音频时始终处于“正在播放”状态