Iphone 播放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

我需要在另一个iOS应用程序中使用歌曲名称开始播放歌曲(在iPod库中)

我研究了一些MediaPlayer框架,但没有发现任何有用的东西。 我知道这是可以做到的,因为App Store中的几个应用程序都可以做到这一点,比如SoundHound,它可以让你播放你在iPod库中找到的某首歌曲。

试试这个:

编辑:

您可以尝试以下方法来访问歌曲:

#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]);

上有很好的代码示例和更多关于查询的讨论,虽然这可以从理论上回答问题,但在这里包括答案的基本部分,并提供链接供参考。