ミュージックライブラリを使用する方法
ミュージックライブラリを使用する場合、ミュージックライブラリへのアクセスを許可させる必要があります。
info.plist
Privacy - Media Library Usage Description
曲の再生は、MediaPlayer
を使用してミュージックライブラリから曲を取得し、
MPMediaItemCollection
に分けることで、再生させるようにできます。
import MediaPlayer
ミュージックライブラリから曲の一覧を取得する方法
ミュージックライブラリからの取得は曲以外に、アルバム、アーティストから一覧を取得することもできます。
// 曲の一覧を取得
let mPMediaQuery = MPMediaQuery.songs()
// アルバムの一覧を取得
let mPMediaQuery = MPMediaQuery.albums()
// アーティストの一覧を取得
let mPMediaQuery = MPMediaQuery.artists()
曲を取得した後は、再生させるため曲ごとに分ける必要があります。
let mPMediaQuery = MPMediaQuery.songs()
if let collections = mPMediaQuery.collections {
for collection in collections {
// タイトル
print(collection.items[0].title!)
}
}
再生する曲をセット
setQueue(with: MPMediaItemCollection)
でミュージックにある曲を指定して再生することができます。
var player = MPMusicPlayerController.applicationMusicPlayer
// 曲をセット
player.setQueue(with: MPMediaItemCollection)
// 曲を再生できるようにする
player.prepareToPlay()
#再生
player.play()
一時停止
player.pause()
#停止
player.stop()
リピート
設定値によって、リピート方法を変更することができます。
// ユーザ好みのリピート
player.repeatMode = .default
// リピートしない
player.repeatMode = .none
// 現在の曲をリピート
player.repeatMode = .one
// 現在のプレイリストをリピート
player.repeatMode = .one
シャッフル
設定値によって、シャッフル方法を変更できます。
// シャッフルしない
player.shuffleMode = .off
// ユーザ好みのシャッフル
player.shuffleMode = .default
// 曲ごとにシャッフル
player.shuffleMode = .songs
// アルバムごとにシャッフル
player.shuffleMode = .albums
参考