我需要使用歌曲的名稱在另一個iOS應用程序中開始播放歌曲(位於iPod庫中)。從iPod庫播放歌曲,只有其標題
我研究了一些MediaPlayer框架,但沒有找到任何有用的東西。 我知道這是可以做到的,因爲App Store中的一些應用程序可以做到這一點,例如SoundHound,它可以讓您播放您在iPod庫中播放的某首歌曲。
我需要使用歌曲的名稱在另一個iOS應用程序中開始播放歌曲(位於iPod庫中)。從iPod庫播放歌曲,只有其標題
我研究了一些MediaPlayer框架,但沒有找到任何有用的東西。 我知道這是可以做到的,因爲App Store中的一些應用程序可以做到這一點,例如SoundHound,它可以讓您播放您在iPod庫中播放的某首歌曲。
試試這個: 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];
}
如果你想播放一首歌曲具有特定標題,而不需要用戶使用媒體選擇器手動選擇歌曲,則可能需要使用歌曲標題嘗試媒體播放器查詢。
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
雖然這對查詢的詳細討論可以在理論上回答這個問題,[這將是優選的](http://meta.stackexchange.com/q/ 8259)在這裏包括答案的重要部分,並提供參考鏈接。 – codingbadger
這是我的不好,對不起兄弟,謝謝你的建議 – relower
沒問題。感謝您編輯您的答案。 – codingbadger