首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPMediaPickerController和MPMediaitemPropertyAssetUrl

MPMediaPickerController和MPMediaitemPropertyAssetUrl
EN

Stack Overflow用户
提问于 2016-02-05 01:15:12
回答 1查看 708关注 0票数 0

我正在寻找一种方法来使用MPMediaPickerController,以允许用户选择一首歌曲。我希望用户能够将歌曲文件路径分配给一个按钮,以便他/她每次按下该按钮时都会播放这首特定的歌曲。我不希望将文件复制到我的应用程序中,只想在用户的音乐库中找到它的快捷方式。在我看来,MPMediaItemPropertyAssetUrl是一条可行的道路。如果我没记错,设置媒体选择器的代码如下所示:

代码语言:javascript
复制
let mediaPicker = MPMediaPickerController(mediaTypes: .music)
mediaPicker.delegate = self
mediaPicker.prompt = "Select song (Icloud songs must be downloaded to use)"
mediaPicker.allowsPickingMultipleItems = false
mediaPicker.showsCloudItems = false
presentViewController(mediaPicker, animated: true, completion: {})

我的困惑在于,我如何添加返回用户资源url的代码,以便他们可以将其添加到按钮中进行播放?

EN

回答 1

Stack Overflow用户

发布于 2016-07-30 17:04:17

您需要调用委托函数:

func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection)

然后,您可以通过MPMediaItemCollection访问媒体项目(无论用户选择了什么):

for thisItem in mediaItemCollection.items as [MPMediaItem] {}

在上面行尾代码块中,您可以访问所选项目的URL,如下所示:

代码语言:javascript
复制
let itemUrl = thisItem.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL

然后从播放器的URL播放

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35207379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档