Как найти песню в MPMusicPlayerController по имени песни и исполнителя

Допустим, вы хотите, чтобы пользователь ввел что-то в текстовое поле, а затем MPMusicPlayerController найдет песню с этим текстом и воспроизведет ее. Это возможно? Как вы ищете MPMusicPlayerController с определенными словами?

Если это невозможно, может ли кто-нибудь воспроизвести песню на одном устройстве, получить подробную информацию об этой песне и воспроизвести ее на другом устройстве?

Я попробовал следующий код, но MPMediaItem не содержит строки с названием песни. Он просто имеет случайные числа и буквы (идентификатор).

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

person smecperson    schedule 23.05.2015    source источник


Ответы (1)


Вы можете искать песню, но не с помощью MPMusicPlayerController. Вы хотите создать MPMediaQuery для изучения того, что находится в музыкальной библиотеке пользователя.

MPMediaItem не содержит строку названия песни

Ну, проблема в том, что ваша последняя строка - полная ерунда:

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

MPMediaItem имеет свойства, одним из которых является название песни (MPMediaItemPropertyTitle). Либо отфильтруйте запрос по свойству (например, MPMediaPropertyPredicate), либо выберите множество песен (возможно, все) и изучите свойства этих песен.

person matt    schedule 23.05.2015
comment
Как использовать MPMediaQuery для поиска песни с определенным названием и исполнителем? Или можно ли найти песню по ее идентификатору (и идентификатор этой песни одинаков на всех устройствах)? - person smecperson; 23.05.2015
comment
Послушайте, вы не можете продолжать расширять вопрос. Я ответил на вопрос, насколько он пошел. Перестаньте двигать стойки ворот. В любом случае, я не собираюсь учить вас всему MPMediaQuery и MPMediaItem здесь! Я уже объяснял вам это здесь: apeth.com/iOSBook/ch29.html# _exploring_the_music_library - person matt; 23.05.2015
comment
Я не расширяю вопрос. Я всегда спрашивал, как играть определенную песню на основе определенной струны. - person smecperson; 23.05.2015
comment
И я думаю, что сказал тебе. Посмотрите внимательно на документы MPMediaItem. Посмотрите на ссылку, которую я вам дал. - person matt; 23.05.2015