我正在深入研究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]; }
现在,此代码允许您在应用运行时随时选择一首歌并播放它。我的问题是......
userInfo
词典中,该词典作为本地通知的一部分包含在内,表示我的闹钟被触发? 我对这一切都很陌生,我真的很难理解这是如何运作的。非常感谢您的帮助!
答案 0 :(得分:1)
保存从返回给用户信息字典的集合中的representativeItem
当您想要播放歌曲时,请使用MPMediaQuery获取要播放的特定歌曲。
有关如何查询存储的歌曲的详细信息