iOS + Swift,如何访问所有音乐文件

时间:2015-03-19 06:16:04

标签: ios swift

我正在使用swift在iOS上制作应用。我想要做的是将所有音乐文件放在iPhone存储上,就像iTunes一样:我想要显示标题,专辑以及播放曲目。

我是iOS编程的新手:我应该学习和使用哪些iOS框架才能实现我的目标?

提前致谢。

1 个答案:

答案 0 :(得分:21)

这个问题有点不清楚(至少对我来说)。

您正在寻找创建一种音乐播放器应用程序?您想添加自己的音乐(A)或使用用户在音乐应用程序库(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()

可能有可能从歌曲中以某种方式访问​​元数据(标题,流派,艺术家......)。

这可能不适用于模拟器。