let c = MPMusicPlayerController.systemMusicPlayer
var d = MPMusicPlayerStoreQueueDescriptor(storeIDs: ["500044854"])
c.setQueue(with: d)
c.prepareToPlay { (error) in //A
print(error)
c.play()
}
c.prepareToPlay() //B
preparePlay(A)後にprepareToPlay(B)を呼ぶと、Aがキャンセルされるが即時再生される。
この時isPreparedToPlayはfalseだが大体は正常に再生された。(iOS11.1/iPhoneX)
キャッシュを強制的に呼び起こしてる…?
let c = MPMusicPlayerController.systemMusicPlayer
var d = MPMusicPlayerStoreQueueDescriptor(storeIDs: ["500044854"])
c.setQueue(with: d)
c.play()
c.prepareToPlay { (error) in
print(error)
c.play()
}
これも即座に再生された。
エラーはnotfoundが返される。キャッシュが無い場合の挙動は不明。
AppleMusicのキャッシュ消したいんだけどどうすればいいんだろ…。