2011-02-07 3 views
0

그래서 지금까지 가지고있는 것입니다 :NSUserDefaults에 iPod에서 노래를 저장해야합니다. 거의 알아 냈어. 그래도 도움이 필요해?

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

그러나 지금 나는 그것을 검색하고 싶은 스크립트 부분에 무엇을 넣을 지 알아낼 필요가 있습니다. 이 일을하는 표준 방법이 될 것입니다 ..

하지만 난 거기에 넣어 확실하지 않습니다. 영구 ID가 작동하지 않습니다. 나는 또한 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

그냥 인식을 :

MPMediaItemPropertyPersistentID 식별자의 값은 응용 프로그램이 시작에 걸쳐 지속

과에서 동기화가 미디어 항목의 동기화 상태를 변경하지 마십시오. 동기화/비 동기화/동기화주기에서 값이 유지되지 않을 수도 있습니다.

나는 MPMediaItemPropertyPersistentID가 아이폰 OS 3.0

관련 문제