我正在使用swift在iOS上制作应用。我想要做的是将所有音乐文件放在iPhone存储上,就像iTunes一样:我想要显示标题,专辑以及播放曲目。
我是iOS编程的新手:我应该学习和使用哪些iOS框架才能实现我的目标?
提前致谢。
答案 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()
可能有可能从歌曲中以某种方式访问元数据(标题,流派,艺术家......)。
这可能不适用于模拟器。