2010-03-20 249 views
0

我想從我的iPod音樂庫中播放特定的歌曲。我該怎麼做? 我的想法是保存MPMediaQuery的標題名稱,然後在應用程序啓動時稍後播放 ,因此任何人都可以有想法做到這一點?從iPod音樂庫播放

謝謝。

回答

2

基本的解決方案是保存庫中每首歌的唯一標識符,也就是MPMediaItemPropertyPersistentID。您可以使用此ID播放歌曲,並且可以將ID保存到內存中以記住用戶在啓動之間選擇的歌曲。如果您不知道媒體播放器框架如何工作,請查看AddMusic示例代碼。

您的視圖控制器必須實現MPMediaPickerControllerDelegate協議。假設你只允許用戶選擇一首歌曲,那麼回調的基本輪廓看起來就像這樣。

- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection 
{ 
    NSArray* items = [mediaItemCollection items]; 
    if ([items count] == 1) 
    { 
     MPMediaItem* song = (MPMediaItem *)[items objectAtIndex:0]; 
     NSNumber* persistentId = [song valueForProperty:MPMediaItemPropertyPersistentID]; 
     // ...Save/Play here... 
    } 
} 

此時,您可以使用永久ID來播放歌曲,和/或將其保存爲用戶默認值。

+1

如何發揮我們知道它的persistentId的聲音? – coure2011 2010-07-03 04:30:47

+1

如何將歌曲複製到我們知道persistentId的應用程序中? – ios 2011-01-28 06:22:24

+0

@ios您可以使用MPMediaPropertyPredicate和MPMediaQuery類http://stackoverflow.com/a/10721965/1374512 – 2013-08-16 22:11:21