从MPMediaItemPicker获取歌曲信息

时间:2015-05-30 04:27:14

标签: ios swift media

我正在尝试将歌曲的歌曲标题,作者和播放的秒数分配给一组变量。但是我无法从歌曲中提取任何信息,这是最好的方法,因为目前我的方式崩溃了。

func presentPicker (sender:AnyObject) {
//I have all of this within an IBAction if that matters, I am new to programming in general so sorry if theres any stupid mistakes
    let mediaPicker = MPMediaPickerController(mediaTypes: .Music)
    mediaPicker.delegate = self
    mediaPicker.allowsPickingMultipleItems = false
    presentViewController(mediaPicker, animated: true, completion: {println(MPMediaItemCollection())})

}

1 个答案:

答案 0 :(得分:1)

您不应该使用completion的{​​{1}}参数。控制器成功呈现时完成运行,但您想在完成解除后抓取该歌曲。您需要在类中实现此委托方法:

presentViewController:

当用户选择了一首歌曲时,系统会调用该方法,因为您将func mediaPicker(mediaPicker: MPMediaPickerController!, didPickMediaItems mediaItemCollection: MPMediaItemCollection!) { println(mediaItemCollection) } 设置为delegate。您可能还想实现这个,以确定他们是否取消了选择器:

self