私のアプリケーションにMPMediaPickerController
が表示されています。 MediaItem
を保存して、起動時に再び再生を開始したいと思います。私はこれがMPMediaQuery
を使って実行可能だと思います。それは、私はMPMediaItemPropertyPersistentID
を使用する必要がありますが、私はそれをどのようにクエリするか分からない。何かご意見は?iPhone SDK、MPMediaItemCollectionを保存しますか?
6
A
答えて
11
男、あなたはmediaCollectionを保存する必要がいけません。メディアコレクションMPMediaItemオブジェクトの配列です。だから、このアイテムの永続的なIDを保存する方がよいでしょう。それは非常に簡単です
//it's how to know persistentId of the song after you got mediaItemCollection from your mediaPickerViewController
//then you can sav it in userDefaults.
- (NSNumber *)getPersistentId :(MPMediaItemCollection *)collection atIndex:(int)index {
MPMediaItem *mediaItem = [collection.items objectAtIndex:index];
NSNumber *anId = [mediaItem valueForProperty:MPMediaItemPropertyPersistentID];
return anId;
}
//when your application will be launched next time you can get required song:
- (void)obtainSongWitId:(NSNumber *)persistentId {
MPMediaQuery *query = [MPMediaQuery songsQuery];
MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:persistentId forProperty:MPMediaItemPropertyPersistentID];
[query addFilterPredicate:predicate];
NSArray *mediaItems = [query items];
//this array will consist of song with given persistentId. add it to collection and play it
MPMediaItemCollection *col = [[MPMediaItemCollection alloc] initWithItems:mediaItems];
///....
[col release];
}
6
これは動作するはずです:
MPMediaQuery *query = [MPMediaQuery songsQuery];
MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:myPersistentID forProperty:MPMediaItemPropertyPersistentID];
[query addFilterPredicate:predicate];
NSArray *songs = [query items];
関連する問題
- 1. ビューステートを保存するiphone sdk
- 2. iPhone SDK - 設定を読み込み/保存します
- 3. iPhone SDK NSUserDefaultsが正しい値を保存しない
- 4. NSUSerDefaultsにMPMediaItemCollectionを保存するにはどうすればよいですか?
- 5. 図面を保存して読み込む方法iphone SDK
- 6. iPhone SDKを使用してiPod音楽ファイルをiPhoneアプリケーションに保存する方法はありますか?
- 7. ウェブサイトからデータを取り出して配列に保存する - iPhone SDK
- 8. イメージをサンドボックスに保存する方法 - iPhone SDK
- 9. iPhone SDK 4.2のデータを保存する際のエラー
- 10. iPhone SDKのiPhoneに保存されているmp3にアクセスする方法
- 11. iPhoneから入力テキストを取得してiPhone SDKを使用してWebサーバーに保存
- 12. iphone sdkを3.0にアップグレードしますか?
- 13. LinuxでiPhone SDKをセットアップしますか?
- 14. ソース管理にWindows SDKを保存していますか?
- 15. データを保存するiphone
- 16. iPhone:画像/データを「パブリック」フォルダに保存していますか?
- 17. iPhoneのユーザーの画像を保存しますか?
- 18. NSKeyedArchiverは通常、iPhoneにデータを保存しますか?
- 19. iPhoneオーディオストリーミング状態を保存していますか?
- 20. 私のiPhoneアプリにiPhoneドキュメントを読み込み/保存しますか?
- 21. iPhone SDK:タッチイベント中に生成された座標ペアをどのように保存しますか?
- 22. iPhone 3.0 SDKとiPhone 2.0 SDK
- 23. コロナSDKをイメージギャラリーに保存して取得します
- 24. Iphoneにデータを保存
- 25. Visual Studio SDK - ハンドルファイル保存イベント
- 26. iphoneに情報を保存したい
- 27. Facebookにアクセストークンを保存するiOS SDK
- 28. 情報を保存するSDK
- 29. コロナSDKタイマーテキストを保存するには?
- 30. iphone sdkでUIImagePickerをバイパスします。
あなたはそれを殺しました! –
は、単一のMPMediaItemをMPMediaItemCollectionにラップするために必要ですか? – surfrider