有没有办法让我检查一下iPhone上是否有歌曲?

时间:2011-02-07 23:55:46

标签: iphone objective-c cocoa-touch

我能看到手机上是否有歌曲吗?这是为了我正在加载应用程序,所以我可以看看他们是否删除了这首歌。

1 个答案:

答案 0 :(得分:5)

你想根据他们在你的应用程序运行之前选择的歌曲或基于歌曲名称和艺术家的歌曲来检查这个吗?

如果它是基于他们过去在使用您的应用时从他们的iPod库中选择的媒体项目,那么您可以根据它MPMediaItemPropertyPersistentID识别一首歌并在下一个MPMediaQuery做一个你加载和检查的时间:

//Use the MPMediaItemPropertyPersistentID to find the song  
MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:savedPersistenID forProperty:MPMediaItemPropertyPersistentID]; 
MPMediaQuery *songQuery = [[MPMediaQuery alloc] init]; 
[songQuery addFilterPredicate: predicate]; 
if (songQuery.items.count > 0) {
    //song exists  
}

注意:我实际上并没有运行此代码,只是查看了我找到的文档和一些示例代码。希望它与你想要的一致,但我实际上没有测试它或者自己使用代码。

此外,在查看MPMediaItem文档后,您似乎可以根据艺术家和标题等进行搜索。请查看MPMediaItem课程参考here,以便进一步查看有关您可以搜索的内容的详细信息。但是,如果你想根据过去选择的确切歌曲进行搜索,那么基于MPMediaItemPropertyPersistentID将它更加可靠。