我試圖確定在播放歌曲之前,歌曲是否仍然存在於用戶的音樂庫中。如果用戶刪除他們的庫中的歌曲,作用於MPMediaItem還是下面的代碼行產生一個網址:檢查歌曲是否仍然存在
NSURL *songURL=[song valueForProperty:MPMediaItemPropertyAssetURL];
的songURL
是形式的「iPod庫://item/item.m4a? ID = 5050 ...等。」然後調用的時候,下面一行崩潰:
[[AVAudioPlayer alloc] initWithContentsOfURL:songURL error:nil];
我使用下面的行,看看這首歌仍然存在試過,但它返回零的歌曲是否存在。我相信這是因爲它與「ipod-library」風格的URL不兼容。
NSData* songData = [NSData dataWithContentsOfURL:songURL];
任何建議都會很棒。謝謝閱讀!
嘗試傳遞一個'NSError'你'initWithContentsOfURL:錯誤:'。如果您收到錯誤,您會知道文件不存在(或已損壞)。 –
@IanMacDonald謝謝! – Rogare