如何通过歌曲和艺术家姓名在MPMusicPlayerController中找到歌曲

时间:2015-05-23 16:57:23

标签: ios objective-c mpmusicplayercontroller

假设您希望用户在文本字段中键入内容,然后MPMusicPlayerController会找到包含该文本的歌曲并播放它。那可能吗?你如何用某些单词搜索MPMusicPlayerController?

如果无法做到这一点,是否有人可以在一台设备上播放歌曲并获取有关该歌曲的详细信息并在另一台设备上播放相同的歌曲?

我已尝试过以下代码,但MPMediaItem并未包含歌曲名称的字符串。它只有随机数字和字母(id)。

MPMediaQuery *query = [MPMediaQuery songsQuery];
NSArray *songs = [query items];
NSUInteger indexOfTheObject = [songs indexOfObject: @"Volcano"];
MPMediaItem *track = [songs objectAtIndex:indexOfTheObject];

1 个答案:

答案 0 :(得分:0)

您可以搜索歌曲,但不能使用MPMusicPlayerController。您想制作一个MPMediaQuery来探索用户音乐库中的内容。

  

MPMediaItem不包含歌曲名称的字符串

嗯,问题在于你的最后一行完全是胡说八道:

MPMediaItem *track = [songs containsObject:self.songName];

MPMediaItem具有属性,其中一个是歌曲的名称(MPMediaItemPropertyTitle)。可以按属性(即MPMediaPropertyPredicate)过滤查询,也可以获取大量歌曲(可能全部都是这些歌曲)并检查这些歌曲的属性。