Iphone 播放iPod库中只有标题的歌曲
我需要在另一个iOS应用程序中使用歌曲名称开始播放歌曲(在iPod库中) 我研究了一些MediaPlayer框架,但没有发现任何有用的东西。 我知道这是可以做到的,因为App Store中的几个应用程序都可以做到这一点,比如SoundHound,它可以让你播放你在iPod库中找到的某首歌曲。试试这个: 编辑: 您可以尝试以下方法来访问歌曲:Iphone 播放iPod库中只有标题的歌曲,iphone,objective-c,ios,media-player,Iphone,Objective C,Ios,Media Player,我需要在另一个iOS应用程序中使用歌曲名称开始播放歌曲(在iPod库中) 我研究了一些MediaPlayer框架,但没有发现任何有用的东西。 我知道这是可以做到的,因为App Store中的几个应用程序都可以做到这一点,比如SoundHound,它可以让你播放你在iPod库中找到的某首歌曲。试试这个: 编辑: 您可以尝试以下方法来访问歌曲: #pragma mark - Media Picker - (IBAction)showMediaPicker:(id)sender { MPM
#pragma mark - Media Picker
- (IBAction)showMediaPicker:(id)sender
{
MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeAny];
mediaPicker.delegate = self;
mediaPicker.allowsPickingMultipleItems = YES;
mediaPicker.prompt = @"Select songs to play";
[self presentModalViewController:mediaPicker animated:YES];
[mediaPicker release];
}
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection
{
if (mediaItemCollection) {
[musicPlayer setQueueWithItemCollection: mediaItemCollection];
[musicPlayer play];
}
[self dismissModalViewControllerAnimated: YES];
}
- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker
{
[self dismissModalViewControllerAnimated: YES];
}
如果您想播放具有特定标题的歌曲,而不需要用户使用媒体选择器手动选择歌曲,您可能需要尝试使用歌曲标题进行媒体播放器查询
MPMediaPropertyPredicate *titlePredicate =
[MPMediaPropertyPredicate predicateWithValue:searchText
forProperty:MPMediaItemPropertyTitle
comparisonType:MPMediaPredicateComparisonContains];
NSSet *predicates = [NSSet setWithObjects: titlePredicate, nil];
MPMediaQuery *songsQuery = [[MPMediaQuery alloc] initWithFilterPredicates: predicates];
NSLog(@"%@", [songsQuery items]);
在上有很好的代码示例和更多关于查询的讨论,虽然这可以从理论上回答问题,但在这里包括答案的基本部分,并提供链接供参考。