Как я могу сохранить песню, выбранную пользователем, в моем приложении для iPhone, а затем извлечь ее и воспроизвести? - PullRequest
1 голос
/ 29 августа 2010

Я погружаюсь в разработку под iOS и медленно создаю собственное приложение для будильника, чтобы научиться разрабатывать на платформе. Я хочу, чтобы мой будильник позволил мне отобразить список песен на моем устройстве iOS, выбрать только одну и включить ее при срабатывании будильника. Я выяснил, как использовать MPMediaPicker для отображения списка песен и позволить пользователю выбирать песни, которые в конечном итоге добавляются в MPMediaItemCollection, который используется, чтобы сообщить объекту MPMediaPlayer, какие песни воспроизводить. Вот код для всего этого ...

- (IBAction) selectSong: (id) sender {  
MPMediaPickerController *picker =
[[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];

picker.delegate                                         = self;
picker.allowsPickingMultipleItems       = NO;
picker.prompt                                           = NSLocalizedString (@"Select any song from the list", @"Prompt to user to choose some songs to play");

[self presentModalViewController: picker animated: YES];
[picker release]; }

Сохраните песню ...

- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection {

[self dismissModalViewControllerAnimated: YES];
selectedSongCollection=mediaItemCollection; }

Уволить сборщика ...

- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker {

[self dismissModalViewControllerAnimated: YES]; }

Теперь этот код позволяет вам выбрать песню и воспроизводить ее в любой момент, пока приложение работает. Мои вопросы ...

  1. Как я могу сохранить эту информацию о песне в словаре userInfo, который включен как часть локального уведомления, представляющего срабатывание моей тревоги?
  2. Мой другой вопрос: как только я смогу получить информацию о песне из локального уведомления, как мне ее воспроизвести?

Я настолько новичок во всем этом, что мне действительно трудно понять, как это будет работать. Большое спасибо заранее за вашу помощь!

1 Ответ

1 голос
/ 29 августа 2010

сохраните представительItem из коллекции, возвращенной в пользовательский словарь информации

, если вы хотите воспроизвести песню, используйте MPMediaQuery, чтобы получить нужную песню для воспроизведения.

http://developer.apple.com/iphone/library/documentation/mediaplayer/reference/MPMediaQuery_ClassReference/Reference/Reference.html#//apple_ref/doc/uid/TP40008220

подробности о том, как запросить сохраненную песню

http://developer.apple.com/iphone/library/documentation/mediaplayer/reference/MPMediaPropertyPredicate_ClassReference/Reference/Reference.html#//apple_ref/occ/clm/MPMediaPropertyPredicate/predicateWithValue:forProperty:

Документация Apple для запроса данных, а также примеры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...