我正在寻找从播放器列表中播放声音的快速编码,而不是将声音作为资源添加到您的项目中。 我主要找到了用法 NSURL(fileURLWithPath:NSBundle.mainBundle()。pathForResource(" sound_name",ofType:" wav")) 的println(alertSound) 但为此你需要在你的包中有声音文件。但我找不到任何例子 选择通过itunes购买的音频文件并播放它们。
知道怎么做吗?我可以访问我的音乐图层播放列表文件并在我的应用中使用它们吗?
感谢任何代码行。 RPW
答案 0 :(得分:10)
这些音乐文件由MPMediaItem实例表示。要获取它们,您可以使用 MPMediaQuery ,如下所示:
let mediaItems = MPMediaQuery.songsQuery().items
此时,您已将所有歌曲都包含在音乐应用程序库中,因此您可以在设置播放列表队列后使用 MPMusicPlayerController 播放它们:
let mediaCollection = MPMediaItemCollection(items: mediaItems)
let player = MPMusicPlayerController.iPodMusicPlayer()
player.setQueueWithItemCollection(mediaCollection)
player.play()
您可能需要按流派,艺术家,专辑等过滤歌曲。在这种情况下,您应该在获取媒体项之前将谓词应用于查询:
var query = MPMediaQuery.songsQuery()
let predicateByGenre = MPMediaPropertyPredicate(value: "Rock", forProperty: MPMediaItemPropertyGenre)
query.filterPredicates = NSSet(object: predicateByGenre)
let mediaCollection = MPMediaItemCollection(items: query.items)
let player = MPMusicPlayerController.iPodMusicPlayer()
player.setQueueWithItemCollection(mediaCollection)
player.play()
干杯!