我试图确定在播放歌曲之前,歌曲是否仍然存在于用户的音乐库中。如果用户删除他们的库中的歌曲,作用于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