4
我有這樣的代碼,找到併發揮MPMediaItem在AVAudioPlayer玩:MPMediaItem不使用MPMediaItemPropertyAssetURL
MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:self.persistentIDOfSongToPlay
forProperty:MPMediaItemPropertyPersistentID
comparisonType:MPMediaPredicateComparisonContains];
NSSet *predicateSet = [NSSet setWithObject:predicate];
MPMediaQuery *searchQuery = [[MPMediaQuery alloc] initWithFilterPredicates:predicateSet];
NSArray *queryResults = [searchQuery items];
NSLog(@"count: %i", queryResults.count);
MPMediaItem *item = [queryResults objectAtIndex:0];
NSLog(@"item: %@", item);
NSURL *itemURL = [item valueForProperty:MPMediaItemPropertyAssetURL];
NSLog(@"url: %@", itemURL);
NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:itemURL error:&error];
[audioPlayer prepareToPlay];
[audioPlayer play];
NSLog(@"error: %@", error);
我的日誌:
count: 1
item: <MPConcreteMediaItem: 0x200b0870> 12385304089059716916
url: ipod-library://item/item.m4a?id=-6061439984649834700
error: (null)
但音頻不能播放。我有音量,另一個AVAudioPlayer執行不同的功能,稍後會播放它的音頻。
找到解決方案 - 它需要成爲一個工作屬性。 – Andrew
由於您找到了自己的答案,請刪除您的問題。 – rmaddy
或者更好的是,寫出一個很好的答案,以便其他人可以從中受益。 – Fluffhead