アプリケーション内のリストに、ユーザーのiPodのすべての曲のリストを表示したいと思います。ユーザーが曲をクリックしたときに、この曲の名前を保存したいと思います。
また、後でその曲の名前を取得して再生したいと思います(ただし、すぐには再生しません)。
これをどこから始めればよいか考えてみてください。おそらくMedia.Playerフレームワークのどこかにあることは知っていますが、アプリケーション内から曲のリストを実際に表示する方法がわからないようです。
アプリケーション内のリストに、ユーザーのiPodのすべての曲のリストを表示したいと思います。ユーザーが曲をクリックしたときに、この曲の名前を保存したいと思います。
また、後でその曲の名前を取得して再生したいと思います(ただし、すぐには再生しません)。
これをどこから始めればよいか考えてみてください。おそらくMedia.Playerフレームワークのどこかにあることは知っていますが、アプリケーション内から曲のリストを実際に表示する方法がわからないようです。
これを使用して MPMediaPickerController を呼び出すことができます。
- (IBAction) selectSong: (id) sender
{
MPMediaPickerController *picker =
[[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];
picker.delegate = self;
picker.allowsPickingMultipleItems = NO;
picker.prompt = NSLocalizedString (@"Select any song from the list", @"Prompt to user to choose some songs to play");
[self presentModalViewController: picker animated: YES];
}
次に、このようなものを使用して、選択した曲を独自の配列に追加できます。
注:を使用して、各トラックのメタデータ情報にアクセスしますvalueForProperty
。
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection
{
[self dismissModalViewControllerAnimated: YES];
someMutableArray = [mediaItemCollection mutableCopy];
}
次に、これは一種の自明ですが、必要です。
- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker
{
[self dismissModalViewControllerAnimated: YES];
}
詳細については、Apple の iPod Library Access Programming Guideを参照してください。