播放 iPod 库中的歌曲,只有标题

Posted

技术标签:

【中文标题】播放 iPod 库中的歌曲,只有标题【英文标题】:Play song from iPod library, having only its title 【发布时间】:2011-11-10 14:43:12 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

试试这个: http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-music-library-access/

编辑:

你可以试试这个来获取歌曲:

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

【讨论】:

虽然理论上这可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。【参考方案2】:

如果您想播放具有特定标题的歌曲,而不需要用户使用媒体选择器手动选择歌曲,您可能想尝试使用歌曲标题的媒体播放器查询。

MPMediaPropertyPredicate *titlePredicate =
[MPMediaPropertyPredicate predicateWithValue:searchText
                             forProperty:MPMediaItemPropertyTitle
                             comparisonType:MPMediaPredicateComparisonContains];

NSSet *predicates = [NSSet setWithObjects: titlePredicate, nil];

MPMediaQuery *songsQuery =  [[MPMediaQuery alloc] initWithFilterPredicates: predicates];

NSLog(@"%@", [songsQuery items]);

MPMediaQuery search for Artists, Albums, and Songs 有很好的代码示例和更多关于查询的讨论

【讨论】:

以上是关于播放 iPod 库中的歌曲,只有标题的主要内容,如果未能解决你的问题,请参考以下文章

如何将歌曲从 iPod 库复制到应用程序并使用 AVAudioPlayer 播放?

我如何允许用户从他们的 iPod 库中挑选歌曲?

关于重叠歌曲的问题?

如何使用 AVAssetExportSession 覆盖 iPhone/iPod 库中的歌曲?

如何同时播放 iPod 库中的两个音频文件?

在设备锁定时播放 iPod 库中的音频