Domanda iOS + Swift, Come accedere a tutti i file musicali nella directory


Sto facendo un'app in iOS usando swift. Quello che voglio fare è ottenere tutti i file musicali nella directory / nell'archivio iPhone, proprio come iTunes ha fatto su Mac / iPhone. Dal momento che sono davvero nuovo con la programmazione iOS, quindi non so davvero da dove iniziare. Apprezzerò molto ogni suggerimento e consiglio.

Quello che voglio fare è ottenere tutti i file musicali nella mia directory, in modo da ottenere musica, musica, album e musica sulla mia app.

Grazie in anticipo.


10
2018-03-19 06:16


origine


risposte:


La domanda è un po 'oscura (almeno per me).

Stai cercando di creare un tipo di applicazione per lettore musicale? Vuoi aggiungere la tua musica (A) o utilizzare la musica che l'utente ha nel suo Libreria di app di musica (B)?

Nel secondo caso, potresti cercare qualcosa di simile.

I file musicali sono rappresentati da istanze MPMediaItem. È possibile utilizzare il recupero tramite MPMediaQuery, ad esempio:

// 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)

A questo punto, hai tutti (o alcuni se filtri) i brani inclusi in Music App Library, quindi puoi riprodurli con a MPMusicPlayerController dopo aver impostato una coda di playlist:

let mediaCollection = MPMediaItemCollection(items: mediaItems)

let player = MPMusicPlayerController.systemMusicPlayer()
player.setQueueWithItemCollection(mediaCollection)

player.play()

C'è probabilmente la possibilità di accedere in qualche modo ai metadati (titolo, genere, artista, ...) delle canzoni.

Questo probabilmente non funzionerà sul simulatore.


21
2018-03-19 07:36