【发布时间】:2016-04-26 18:01:34
【问题描述】:
我需要一个条件语句,以便我可以为一个 avplayer 选择一首歌曲,并为我的另一个 avplayer 选择另一首歌曲。我有两个按钮可以打开 mediaPicker 为每个 avplayer 选择一首歌曲。我目前的代码有效,但用户必须为avplayers 选择两首歌曲,而我宁愿使用两个按钮。这是我目前的代码:
if node.name == "addmusictoright" {
mediaPicker2 = MPMediaPickerController(mediaTypes: .AnyAudio)
if let picker = mediaPicker2{
print("Successfully open media picker Left")
picker.delegate = self
picker.allowsPickingMultipleItems = true
picker.showsCloudItems = false
picker.prompt = "Please pick one song!"
self.view?.window?.rootViewController!.presentViewController(picker, animated: true, completion: nil)
} else {
print("PICKER WONT OPEN")
}
if node.name == "addmusictoleft" {
mediaPicker = MPMediaPickerController(mediaTypes: .AnyAudio)
if let picker2 = mediaPicker{
print("Successfully open media picker Left")
picker2.delegate = self
picker2.allowsPickingMultipleItems = true
picker2.showsCloudItems = false
picker2.prompt = "Please pick one song!"
self.view?.window?.rootViewController!.presentViewController(picker2, animated: true, completion: nil)
} else {
print("PICKER WONT OPEN")
}
func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
if mediaItemCollection.items.count == 2{
let aMediaItem = mediaItemCollection.items[0] as MPMediaItem
music = aMediaItem
NSLog("\(aMediaItem.title)selected")
let url: NSURL = (music.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL)!
player = AVPlayer(URL: url)
titleLabel2.text = music.albumArtist
let aMediaItem2 = mediaItemCollection.items[1] as MPMediaItem
music2 = aMediaItem2
NSLog("\(aMediaItem2.title)selected")
let url2: NSURL = (music2.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL)!
player2 = AVPlayer(URL: url2)
titleLabel.text = music2.albumArtist
}
}
【问题讨论】:
-
你是在说这个条件语句 if mediaItemCollection.items.count == 2{ } 不清楚你想要两个按钮还是只有一个按钮。
-
嗯,条件语句允许我从一个按钮为我的
avplayers选择两首歌曲。我想要的是使用两个按钮并分别选择一首歌曲。 -
您能否展示一些流程,您如何使用单个按钮来选择两首歌曲,即单击该按钮时调用的函数名称是什么(在按钮单击时运行的代码)在打开媒体选择器之前。我不太明白 node.name == "addmusictoright" 东西。您的 mediaItemCollection.items.count == 2 如何返回 true ,您是否在单击该按钮时同时打开两个媒体选择器。
-
好的,所以我目前使用一个按钮打开 mediaPicker,用户为 avplayers 选择两首歌曲。我想要的是使用两个按钮,这就是我包含
addmusictoright和addmusictoleft的原因。例如,我想按下一个按钮,它会打开 mediaPicker 并为avplayer and I then press on another button to open the mediapicker and select another song for the otheravplayer. Thenode.name == "addmusictoright"` 代码之一选择一首歌曲,这样我就可以将我的节点变成一个按钮。 -
@SouravSachdeva 你明白我想要完成的事情吗?
标签: ios xcode swift swift2 mpmediapickercontroller