我如何在 select 两首歌曲后关闭媒体选择器?
How can I dismiss the media picker after I select two songs?
我希望能够从我的音乐库中挑选两首歌曲,然后在我 select 歌曲之后关闭选择器。现在我必须按下完成按钮将其关闭。我怎样才能做到这一点?
//MEDIAPLAYER---------------------------------------------------------------
func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
if mediaItemCollection.items.count > 1 {
let aMediaItem = mediaItemCollection.items[0] as MPMediaItem
music = aMediaItem
NSLog("\(aMediaItem.title)selected")
let url: NSURL = (music.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL)!
do {
musicPlayer = try AVAudioPlayer(contentsOfURL: url)
} catch {
return
}
}
if mediaItemCollection.items.count > 1 {
let aMediaItem2 = mediaItemCollection.items[1] as MPMediaItem
music2 = aMediaItem2
NSLog("\(aMediaItem2.title)selected")
let url2: NSURL = (music2.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL)!
do {
musicPlayer2 = try AVAudioPlayer(contentsOfURL: url2)
} catch {
return
}
}
}
更新: MPMediaPickerController 不提供任何默认方法,您可以根据需要直接关闭控制器
要在歌曲选择中进行自定义,您可以使用 MPMediaQuery
和 MPMediaItem
,这将 return 您列出带有详细信息的歌曲。你可以在你的 UITableView/UICollectionView 中展示它并实现你的自定义逻辑
旧代码:
只有在手动按下 done 后你想做一些处理时才可以使用这个
func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
//rest of your code
if mediaItemCollection.items.count == 2 {
self.dismissViewControllerAnimated(true, completion:nil)
}
//rest of your code
}
我希望能够从我的音乐库中挑选两首歌曲,然后在我 select 歌曲之后关闭选择器。现在我必须按下完成按钮将其关闭。我怎样才能做到这一点?
//MEDIAPLAYER---------------------------------------------------------------
func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
if mediaItemCollection.items.count > 1 {
let aMediaItem = mediaItemCollection.items[0] as MPMediaItem
music = aMediaItem
NSLog("\(aMediaItem.title)selected")
let url: NSURL = (music.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL)!
do {
musicPlayer = try AVAudioPlayer(contentsOfURL: url)
} catch {
return
}
}
if mediaItemCollection.items.count > 1 {
let aMediaItem2 = mediaItemCollection.items[1] as MPMediaItem
music2 = aMediaItem2
NSLog("\(aMediaItem2.title)selected")
let url2: NSURL = (music2.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL)!
do {
musicPlayer2 = try AVAudioPlayer(contentsOfURL: url2)
} catch {
return
}
}
}
更新: MPMediaPickerController 不提供任何默认方法,您可以根据需要直接关闭控制器
要在歌曲选择中进行自定义,您可以使用 MPMediaQuery
和 MPMediaItem
,这将 return 您列出带有详细信息的歌曲。你可以在你的 UITableView/UICollectionView 中展示它并实现你的自定义逻辑
旧代码: 只有在手动按下 done 后你想做一些处理时才可以使用这个
func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
//rest of your code
if mediaItemCollection.items.count == 2 {
self.dismissViewControllerAnimated(true, completion:nil)
}
//rest of your code
}