ios - 如何使用 swift 获取当前播放音乐的专辑封面?

标签 ios swift

我正在尝试创建一个 UIImageView,其中包含当前在音乐播放器上播放的歌曲的专辑插图。我找到的所有资源要么在 objective-c(我不知道)中,要么不起作用(也许我没有正确实现它)。

我目前正在尝试使用这段代码来做到这一点:

class ViewController: UIViewController {

@IBOutlet weak var backgroundAlbum: UIImageView!



override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    backgroundAlbum.image = MPMediaItemArtwork()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

但是我在行中遇到错误

backgroundAlbum.image = MPMediaItemArtwork()

最佳答案

试试这个:

//this method is called after you picked a song from music library
func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {

    dismissViewControllerAnimated(true, completion: nil)

    //get current song
    let currentSong: MPMediaItem = mediaItemCollection.items[0]

    if let artwork: MPMediaItemArtwork = currentSong.valueForProperty(MPMediaItemPropertyArtwork) as? MPMediaItemArtwork{
        albumArt.image = artwork.imageWithSize(CGSize(width: x, height: y))
    }

关于ios - 如何使用 swift 获取当前播放音乐的专辑封面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28979013/

相关文章:

ios - Swift - 从 AppDelegate 添加 subview 到 View Controller

ios - 'mutableCopy()' Swift3 的使用不明确

ios - 另一个实体的核心数据过滤器

ios - 如何检索 Microsoft Band 1 上已有的应用程序磁贴列表

ios - 使用 ScrollView 和 ImageView 在 iOS 中构建类似 map 的实现

ios - 来自 JSONJoy 协议(protocol)的 Swift init 方法不可用作 Objective-C 选择器

string - 将 .characters 应用于字符串时,我在这里看到什么返回?

swift - iOS 15 中标签栏顶部的细线未删除

ios - 如何在没有 Storyboard的情况下实现 Size-Class-Specific Layout?

ios/iphone 照片连拍模式 api