swift xcode播放播放器列表中的声音文件

时间:2014-09-30 15:01:57

标签: ios xcode file audio swift

我正在寻找从播放器列表中播放声音的快速编码,而不是将声音作为资源添加到您的项目中。  我主要找到了用法 NSURL(fileURLWithPath:NSBundle.mainBundle()。pathForResource(" sound_name",ofType:" wav"))     的println(alertSound) 但为此你需要在你的包中有声音文件。但我找不到任何例子 选择通过itunes购买的音频文件并播放它们。

知道怎么做吗?我可以访问我的音乐图层播放列表文件并在我的应用中使用它们吗?

感谢任何代码行。 RPW

1 个答案:

答案 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()

干杯!