Ответ 1
Вопрос немного неясен (по крайней мере, для меня).
Вы хотите создать своего рода приложение для музыкальных плееров? Вы хотите добавить свою собственную музыку (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)
На этом этапе у вас есть все (или некоторые, если вы отфильтровываете) песни, включенные в Music App Library, поэтому вы можете воспроизводить их с помощью MPMusicPlayerController
после установки очереди списка воспроизведения:
let mediaCollection = MPMediaItemCollection(items: mediaItems)
let player = MPMusicPlayerController.systemMusicPlayer()
player.setQueueWithItemCollection(mediaCollection)
player.play()
Вероятно, есть возможность получить доступ к метаданным (название, жанр, художник,...) из песен.
Вероятно, это не будет работать на симуляторе.