Checking if a song still exists
我正在尝试确定一首歌曲在播放之前是否仍存在于用户的库中。如果用户在其库中删除一首歌曲,则作用于 MPMediaItem 的以下代码行仍会产生一个 URL:
1
|
NSURL *songURL=[song valueForProperty:MPMediaItemPropertyAssetURL];
|
1
|
[[AVAudioPlayer alloc] initWithContentsOfURL:songURL error:nil];
|
我尝试使用以下行来查看歌曲是否仍然存在,但无论歌曲是否存在,它都会返回 nil。我相信这是因为它与 “ipod-library” 样式的 URL 不兼容。
1
|
NSData* songData = [NSData dataWithContentsOfURL:songURL];
|
任何建议都会很棒。感谢阅读!
你无法提前知道,但 AVAudioPlayer 的 initWithContentsOfURL 将返回 nil,如果创建播放器失败,错误将填充 NSError。只需检查返回码。
https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioPlayerClassReference/index.html#//apple_ref/occ/instm/AVAudioPlayer/initWithContentsOfURL:fileTypeHint:error:
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/268669.html