如何存储用户在我的iPhone应用程序中选择的歌曲,然后将其检索并播放?

时间:2010-08-28 21:57:20

标签: iphone ipad ios mpmediaitemcollection

我正在深入研究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. 我的另一个问题是,一旦我能够从本地通知中检索该歌曲信息,我该如何播放?
  3. 我对这一切都很陌生,我真的很难理解这是如何运作的。非常感谢您的帮助!