【发布时间】:2012-09-05 22:15:24
【问题描述】:
我想在我的应用程序内的列表中显示用户 ipod 中所有歌曲的列表。当用户点击一首歌曲时,我想存储这首歌曲的名称。
我稍后也想获取该歌曲的名称并播放它(但不是马上)。
任何想法从哪里开始?我知道它可能在 Media.Player 框架中的某个地方,但我似乎无法弄清楚如何从应用程序内部实际查看歌曲列表
【问题讨论】:
标签: iphone objective-c ios xcode ios4
我想在我的应用程序内的列表中显示用户 ipod 中所有歌曲的列表。当用户点击一首歌曲时,我想存储这首歌曲的名称。
我稍后也想获取该歌曲的名称并播放它(但不是马上)。
任何想法从哪里开始?我知道它可能在 Media.Player 框架中的某个地方,但我似乎无法弄清楚如何从应用程序内部实际查看歌曲列表
【问题讨论】:
标签: iphone objective-c ios xcode ios4
您可以使用以下命令调用 MPMediaPickerController:
- (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];
}
然后您可以使用类似的方法将选择的歌曲添加到您自己的数组中。
注意:您将使用valueForProperty访问每个曲目的元数据信息。
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection
{
[self dismissModalViewControllerAnimated: YES];
someMutableArray = [mediaItemCollection mutableCopy];
}
那么这是不言自明但必要的:
- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker
{
[self dismissModalViewControllerAnimated: YES];
}
【讨论】: