2015-05-30 2 views
-2

Когда я выбираю распечатать MPMediaItemCollection в своем приложении, я просто получаю коды, такие как 0x17eb5d30. Кто-нибудь знает, как получить данные от этих случайных букв и цифр. Я надеюсь, что вы получите название песни, а также длину песни за считанные секунды.Как интерпретировать коды MPMediaItemCollection

Мой код здесь

@IBAction func pickSong(sender: AnyObject) { 


    self.presentPicker(sender) 


    func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     var DestView: playMusicViewController = segue.destinationViewController as! playMusicViewController 
     DestView.selectedSong = MPMediaItemCollection() 

    } 


} 


func presentPicker (sender:AnyObject) { 

    let mediaPicker = MPMediaPickerController(mediaTypes: .Music) 
    mediaPicker.delegate = self 
    mediaPicker.allowsPickingMultipleItems = false 
    presentViewController(mediaPicker, animated: true, completion: {}) 

} 

также контроллер зрения расширения

extension ViewController : MPMediaPickerControllerDelegate { 
// must implement these, as there is no automatic dismissal 

    func mediaPicker(mediaPicker: MPMediaPickerController!, didPickMediaItems mediaItemCollection: MPMediaItemCollection!) { 
     let player = MPMusicPlayerController.applicationMusicPlayer() 
     player.setQueueWithItemCollection(mediaItemCollection) 
     player.play() 
     println(mediaItemCollection) 
     self.dismissViewControllerAnimated(true, completion: nil) 

    } 

    func mediaPickerDidCancel(mediaPicker: MPMediaPickerController!) { 
     self.dismissViewControllerAnimated(true, completion: nil) 
    } 

} 
+1

это «случайные» пробелы, а числа - указатель на адрес памяти. Вам нужно опубликовать свой код, чтобы люди могли вам помочь. Отредактируйте сообщение, чтобы показать, что вы пытаетесь сделать (код) и с чем вы сталкиваетесь (сообщение об ошибке), и мы будем рады помочь – Icaro

+0

отредактирован, я не вижу ошибки, мне просто нужна помощь в переводе того, что представляют эти буквы и цифры , – mattcarlson

+0

Как вы его тестируете? Я запускаю его в своем iPhone, и он отлично работает – Icaro

ответ

1

Количество и письмо вы, кажется, является указателем на адрес в памяти (как правило, не очень полезно для нас) если вы хотите получить доступ к сведениям о музыке, необходимой для доступа к свойствам объектов, которые вы получили назад для сборщика. В следующем примере показано, как получить название выбранной музыки:

func mediaPicker(mediaPicker: MPMediaPickerController!, didPickMediaItems mediaItemCollection: MPMediaItemCollection!) { 
    let player = MPMusicPlayerController.applicationMusicPlayer() 
    player.setQueueWithItemCollection(mediaItemCollection) 
    player.play() 
    let item = mediaItemCollection.representativeItem 
    let title = item.title 
    println(title) 
    self.dismissViewControllerAnimated(true, completion: nil) 
} 

Я надеюсь, что вам помогут!

Смежные вопросы