我有一些代码可以显示MPMediaItem的艺术作品。它曾经可以工作,但在iOS 16. 1. 2上运行时失败了。它显示一个看似随机的艺术家和专辑的艺术作品。
下面是一小段代码片段,演示了这个问题:
var mediaLibrarySongLibraryIndex = 0
let allSongsQuery = MPMediaQuery.songs()
mediaLibrarySongsArray = allSongsQuery.items
if mediaLibrarySongsArray != nil && mediaLibrarySongLibraryIndex < mediaLibrarySongsArray!.count {
currentMediaItem = mediaLibrarySongsArray![mediaLibrarySongLibraryIndex]
if currentMediaItem != nil {
titleLabel.text = currentMediaItem!.title
artistLabel.text = currentMediaItem!.albumArtist
albumLabel.text = currentMediaItem!.albumTitle
if let artwork: MPMediaItemArtwork = currentMediaItem!.value(forProperty: MPMediaItemPropertyArtwork) as? MPMediaItemArtwork{
imageView.image = artwork.image(at: CGSize(width: 320, height: 320))
}
}
mediaLibrarySongLibraryIndex += 1
}
if语句中的代码是由点击按钮触发的。下面是我尝试过的另一种技术,但也失败了:
imageView.image = currentMediaItem!.artwork?.image(at: CGSize(width: 320, height: 320))
我知道有很多强制解 Package 。我当时写代码很匆忙,那些不是问题的原因。
1条答案
按热度按时间bgibtngc1#
问题不在我的代码上,我的媒体作品在苹果的音乐应用程序中也是乱码的。
我已经开始了漫长的过程,删除所有的专辑从我的iPhone和重新同步他们从我的Mac电脑,以解决这个问题,由苹果支持的建议。
由于我有20GB以上的音频数据,这是一个漫长的任务,在我的情况下,但我发现乱码专辑艺术相当烦人。