2011-02-07 1 views
0

Так это то, что я до сих пор:Необходимо сохранить песню с iPod в NSUserDefaults. Почти понял, нужна помощь, хотя там?

-(void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection { 

    [self dismissModalViewControllerAnimated:YES]; 
    // Assign the selected item(s) to the music player and start playback. 
self.selectedSong = mediaItemCollection; 

    MPMediaItem *chosenItem = mediaItemCollection.representativeItem; 
    NSLog(@"chosenItem: %@", chosenItem); 
    persistentID = [chosenItem valueForProperty:MPMediaItemPropertyPersistentID]; //persistentID is an NSString. 
    NSLog(@"persistentID: %@", persistentID); 
    [prefs setValue:persistentID forKey:@"persistentIDKey"]; 
    [prefs synchronize]; 

}

Но теперь я должен выяснить, что поставить в части сценария, где я хочу его получить. Это было бы стандартным способом этого.

[self.musicPlayer stop]; 
[self.musicPlayer setNowPlayingItem:*ITEM HERE*]; 
[self.musicPlayer play]; 

Но я не уверен, что положить туда. Постоянный идентификатор не работает. Я также могу получить любые другие свойства из песни, используя мой метод выше, а не только persistentID. Поэтому, если мне нужны какие-либо другие, то я тоже могу их получить. Помогите с этим?

ответ

1

Вы должны быть в состоянии сделать что-то вроде этого:

MPMediaPropertyPredicate * predicate = [MPMediaPropertyPredicate predicateWithValue:storedPID forProperty: MPMediaItemPropertyPersistentID]; 
MPMediaQuery * query = [[MPMediaQuery alloc] initWithFilterPredicates: [NSSet setWithObject: predicate]]; 
[self.musicPlayer setQueueWithQuery:query]; 
[self.musicPlayer play]; 
[query release]; 
+0

Пробовали для будильника и работал. +1 –

1

Просто быть в курсе, как и в документации компании Apple:

Значение идентификатора MPMediaItemPropertyPersistentID сохраняется через запуск приложений и через синхронизации не меняйте статус синхронизации элемента мультимедиа. Значение не может сохраняться в цикле синхронизации/синхронизации/синхронизации.

Я никогда не встречал одного случая, когда это было проблемой, однако это было в случае с MPMediaItemPropertyPersistentID был введен в прошивкой 3.0

 Смежные вопросы

  • Нет связанных вопросов^_^