iOS + Swift,如何访问所有音乐文件 [关闭]
Posted
技术标签:
【中文标题】iOS + Swift,如何访问所有音乐文件 [关闭]【英文标题】:iOS + Swift, How to access all music files [closed] 【发布时间】:2015-03-19 06:16:03 【问题描述】:我正在使用 swift 在 ios 中制作应用程序。我想要做的是在 iPhone 存储上获取所有音乐文件,就像 iTunes 一样:我想要显示标题、专辑以及播放曲目。
我是 iOS 编程新手:我应该学习和使用什么 iOS 框架来实现我的目标?
提前致谢。
【问题讨论】:
不,您无法访问在 iTunes 中看到的音乐;但是您可以访问存储在应用程序文件夹中的音乐。 什么意思,我们无法访问 iTunes 中的音乐? 我要做的是获取我目录中的所有音乐文件,这样我就可以在我的应用程序上播放音乐标题、音乐专辑和音乐。 【参考方案1】:这个问题有点不清楚(至少对我来说)。
您正在寻找一种音乐播放器应用程序?您想添加自己的音乐 (A) 或使用用户在其Music App Library (B) 中拥有的音乐?
在第二种情况下,您可能正在寻找类似的东西。
音乐文件由 MPMediaItem 实例表示。您可以通过 MPMediaQuery 检索它们,例如:
// All
let mediaItems = MPMediaQuery.songsQuery().items
// Or you can filter on various property
// Like the Genre for example here
var query = MPMediaQuery.songsQuery()
let predicateByGenre = MPMediaPropertyPredicate(value: "Rock", forProperty: MPMediaItemPropertyGenre)
query.filterPredicates = NSSet(object: predicateByGenre)
此时,您的音乐应用库中包含所有(或部分过滤)歌曲,因此您可以在设置播放列表队列后使用MPMusicPlayerController
播放它们:
let mediaCollection = MPMediaItemCollection(items: mediaItems)
let player = MPMusicPlayerController.systemMusicPlayer()
player.setQueueWithItemCollection(mediaCollection)
player.play()
可能有可能以某种方式访问歌曲中的元数据(标题、流派、艺术家……)。
这可能不适用于模拟器。
【讨论】:
我想要的是使用/获取存储在用户 iPhone 设备上的所有音乐文件,或者我们可以说用户 iTunes 上列出的音乐。上述方法是否可以按我的意愿工作?跨度> 感谢您的回复,这非常有帮助。不过,我正在按照code.tutsplus.com/tutorials/… 的步骤进行操作 谢谢。注意:请改用 systemMusicPlayer(),因为 iPodMusicPlayer() 在 iOS 8 中已弃用。以上是关于iOS + Swift,如何访问所有音乐文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 3 iOS10 为 MPMediaPickerControllerDelegate 呈现带有视图控制器的音乐库?