如何在Swift中获得MPMediaItem的正确插图(以前工作的代码)?

gab6jxml  于 2022-12-17  发布在  Swift
关注(0)|答案(1)|浏览(122)

我有一些代码可以显示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 。我当时写代码很匆忙,那些不是问题的原因。

bgibtngc

bgibtngc1#

问题不在我的代码上,我的媒体作品在苹果的音乐应用程序中也是乱码的。
我已经开始了漫长的过程,删除所有的专辑从我的iPhone和重新同步他们从我的Mac电脑,以解决这个问题,由苹果支持的建议。
由于我有20GB以上的音频数据,这是一个漫长的任务,在我的情况下,但我发现乱码专辑艺术相当烦人。

相关问题