【Swift】端末に入っている楽曲データ(アーティスト名、曲名等)を取得する方法
今回は端末に入っている楽曲データ(アーティスト名、曲名等)を取得する方法をこの記事で説明します。
この記事のポイント・Privacy – Media Library Usage Descriptionの追加
・MediaPlayerを使用
・MediaPlayerを使用
楽曲データ(アーティスト名、曲名等)を取得する方法
初めにInfo.plistに「Privacy – Media Library Usage Description」追加します。
Info.plistに設定
追加しない場合、実行時エラーになります。
MediaPlayerのインポート
import MediaPlayer
ViewControllerの設定
if let albums = albumsQuery.collections {
for album in albums {
for song in album.items {
// アーティスト名
guard let artist = song.value(forProperty: MPMediaItemPropertyArtist) else {
continue
}
// 曲名
guard let title = song.value(forProperty: MPMediaItemPropertyTitle) else {
continue
}
lblArtist.text = (artist as! String)
lblArtist.sizeToFit()
lblTitle.text = (title as! String)
lblTitle.sizeToFit()
print("artist: \(artist)")
print("title: \(title)")
//ジャンル
guard let genre = song.value(forProperty: MPMediaItemPropertyGenre) else {
continue
}
print("title: \(genre)")
// アートワーク
if let artwork = song.value(forProperty: MPMediaItemPropertyArtwork) as? MPMediaItemArtwork {
// 画像表示
var orgImage:UIImage = UIImage()
orgImage = artwork.image(at: artwork.bounds.size)!
imgArtWork.image = resize(image: orgImage, width: 320)
imgArtWork.sizeToFit()
}
}
}
これで端末に入っている楽曲データ(アーティスト名、曲名等)を取得することが出来るようになります。