Отображение обложки для файла .MP3

В настоящее время я пытаюсь отобразить обложку альбома для локально сохраненной дорожки .MP3 в ImageView. Кто-нибудь знает, как получить это произведение в Swift, чтобы достичь этого?

Я нашел это решение (iOS AVFoundation: Как мне получить обложку из mp3 файла?), но код написан на Objective C. Я просто хочу взять изображение, встроенное в мой MP3, и отобразить его в ImageView.

Я просмотрел документацию по API для MPMediaItemArtwork и нашел здесь пример, который также выполняет то, что я пытаюсь выполнить в Objective C (http://www.codeitive.com/0zHjkUjUWX/not-able-to-get-the-uiimage-from-mpmediaitempropertyartwork.html) но не может придумать решение. Мой код выглядит следующим образом:

import UIKit
import AVFoundation
import MediaPlayer

class ViewController: UIViewController {
let audioPath:NSURL! = NSBundle.mainBundle().URLForResource("SippinOnFire", withExtension: "mp3")

@IBOutlet var artistImage: UIImageView!
@IBOutlet var trackLabel: UILabel!
@IBOutlet var artistLabel: UILabel!
@IBOutlet var sliderValue: UISlider!
var player:AVAudioPlayer = AVAudioPlayer()


@IBAction func play(sender: AnyObject) {


    let audioInfo = MPNowPlayingInfoCenter.defaultCenter()
println(audioInfo)


    player.play()
    //println("Playing \(audioPath)")


    let playerItem = AVPlayerItem(URL: audioPath)
    let metadataList = playerItem.asset.metadata as! [AVMetadataItem]


    for item in metadataList {
        if let stringValue = item.value {
           println(item.commonKey)
            if item.commonKey == "title" {
                trackLabel.text = stringValue as? String
            }
            if item.commonKey  == "artist" {
                artistLabel.text = stringValue as? String
            }
            if item.commonKey  == "artwork" {
                if let audioImage = UIImage(data: item.value as! NSData) {
                    let audioArtwork = MPMediaItemArtwork(image: audioImage)
                    println(audioImage.description)
                }
           }


        }
    }
}
@IBAction func pause(sender: AnyObject) {

    player.pause()
}
@IBAction func stop(sender: AnyObject) {

    player.stop()
    player.currentTime = 0;
}
@IBAction func sliderChanged(sender: AnyObject) {

    player.volume = sliderValue.value

}

override func viewDidLoad() {
    super.viewDidLoad()

             var error:NSError? = nil

    player = AVAudioPlayer(contentsOfURL: audioPath!, error: &error)

    player.volume = 0.5;

}

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


}

Вот снимок экрана моего примера файла .mp3. Как вы можете видеть, действительно есть обложка альбома, которую можно увидеть в разделе «получить информацию» в Finder. Я также открыл .mp3 в своем iTunes, чтобы удостовериться и подтвердил, что в разделе «get info», а также на вкладке «artwork» есть обложка.

Однако при попытке использовать commonKey для назначения изображения для моего imageView я обнаружил, что для «artwork» не существует commonKey.

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос