IOS + Swift, Как получить доступ ко всему музыкальному файлу в каталоге

Я делаю приложение в iOS с помощью swift.Что я хочу сделать, это получить весь музыкальный файл в каталоге/хранилище iPhone, точно так же, как iTunes на Mac/iPhone. Поскольку я действительно новичок в программировании на iOS, я действительно не знаю, с чего начать. Я буду очень благодарен за любые предложения и советы.

Что я хочу сделать, это получить весь музыкальный файл в моем каталоге, чтобы я получил музыку, музыкальный альбом и музыка могли воспроизводиться в моем приложении.

Спасибо заранее.

Ответ 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()

Вероятно, есть возможность получить доступ к метаданным (название, жанр, художник,...) из песен.

Вероятно, это не будет работать на симуляторе.