デバイス上のすべての曲を取得し、その情報の一部をUITableViewに入れ、AVAudioPlayerを使用して選択したセルの曲を再生するアプリケーションを作成しました。しかし何らかの理由で、私のデバイスの3曲にURLがないように見えます。これらの曲は最近2ヵ月後に購入されました。以下のコードを参照してください。iTunesで購入したメディアのURL
//get all the songs
var songsList: [MPMediaItem] = MPMediaQuery.songsQuery().items!
if let url = song.valueForProperty(MPMediaItemPropertyAssetURL) as! NSURL? {
self.player = try! AVAudioPlayer(contentsOfURL: url)
let playing: Bool = player.play()
print("The audio play status: " + String(playing))
}
else {
print("Failed to cast to URL")
}
何らかの理由で、これらの3曲がAnyObjectからキャストされたタイプに失敗しますか? NSURLに?デバイス上にURLが存在してはならないことを意味しますか?分かりません。私の唯一の推測は、別のMacintoshデバイス上でiTunesから購入したもので、iTunesアカウントを介してクラウド転送を介してそこに保存されていたということです。どんな説明も大きな助けになるでしょう。
アップルの音楽トラックかもしれない? – Moritz
@EricDそれは私の最初の考えでもあった... –