iOSデバイス(iPhoneやiPod)に入っている楽曲データ一覧からアーティスト情報やタイトル情報を取得します。
let albumsQuery = MPMediaQuery.albumsQuery() if let albums = albumsQuery.collections { for album in albums { for song in album.items { // アーティスト名 guard let artist = song.valueForProperty(MPMediaItemPropertyArtist) else { continue } // 楽曲のタイトル guard let title = song.valueForProperty(MPMediaItemPropertyTitle) else { continue } print("artist: \(artist)") print("title: \(title)") //ジャンル guard let genre = song.valueForProperty(MPMediaItemPropertyGenre) else { continue } print("title: \(genre)") // アートワーク if let artwork = song.valueForProperty(MPMediaItemPropertyArtwork) as? MPMediaItemArtwork { // 画像を読み込んで表示させる imageView.image = artwork.imageWithSize(artwork.bounds.size) } print("=======") } } }
iOSシミュレータでは楽曲データを入れることができないのでデバッグ実行できませんが、僕のiPhone 6s/iOS 9.3で動かしたとこ下記のように表示されました。
iPhoneでは音楽を聞かないので大昔に買った曲がそのまま残り続けています(とフォロー)。
artist: 朝比奈みくる(C.V.後藤邑子) title: ハレ晴レユカイ title: アニメ ======================== artist: AKINO from bless4 title: 創聖のアクエリオン title: アニメ ======================== artist: 奥井亜紀 title: 月の繭 title: J-Pop ======================== artist: ライアン・スター title: Brand New Day title: ポップ ========================
取得できる情報は上記のものだけではなく多いので「MPMediaItem - Media Player | Apple Developer Documentation」をご覧ください。
中でもよく使いそうな項目をピックアップしました。
キー | 説明 |
---|---|
MPMediaItemPropertyTitle | タイトル |
MPMediaItemPropertyAlbumTitle | アルバムタイトル |
MPMediaItemPropertyArtist | アーティスト名 |
MPMediaItemPropertyAlbumArtist | アルバムアーティスト |
MPMediaItemPropertyGenre | ジャンル |
MPMediaItemPropertyArtwork | アートワーク(パッケージ画像) |
MPMediaItemPropertyReleaseDate | リリース日 |
MPMediaItemPropertyPlaybackDuration | 楽曲の長さ |
関連記事
この他にもiOSアプリ開発で見つけたネタや悩んだ内容など紹介しています。Tipsをまとめておりますのでこちらのページをご参照ください。