Bonnes feuilles : Développer pour l'Iphone et l'Ipad Je suis un iPod !

Accès à la librairie iPod


L'application iPod est capable de tourner en même temps que votre application. Cocoa Touch propose plusieurs interactions possibles entre ces deux applications :

 Afficher l'interface de navigation dans la librairie pour choisir un morceau de musique. Cette opération est réalisée par la classe MPMediaPickerController.

 Sélectionner des morceaux avec une requête. Cette opération est réalisée par la classe MPMediaQuery.

 Jouer les morceaux avec la classe MPMusicPlayerController en constituant des listes de lecture représentées par la classe MPMediaItemCollection.


L'écran géré par le contrôleur MPMediaPickerController est généralement invoqué et révoqué par les méthodes classiques détaillées lors de l'enchaînement modal au chapitre 11 :

 presentModalViewController:animated: pour afficher l'interface.

 dismissModalViewControllerAnimated: pour faire disparaître l'interface.

Le délégué de ce contrôleur implémente le protocole MPMediaPickerControllerDelegate qui lui indique l'action réalisée par l'utilisateur (mediaPicker:didPickMediaItems: ou mediaPickerDidCancel:). Voici la mise en oeuvre avec un contrôleur de vue qui affiche l'écran de choix de morceaux et joue aussi le rôle de délégué :

 MPMediaPickerController *picker = [[MPMediaPickerController alloc]
initWithMediaTypes: MPMediaTypeAnyAudio];
picker.self =
myController presentModalViewController: picker animated: YES];
[picker release];
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker
didPickMediaItems: (MPMediaItemCollection *) collection {
[self dismissModalViewControllerAnimated: YES];
[self updatePlayerQueueWithMediaCollection: collection];
}
- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker {
[self dismissModalViewControllerAnimated: YES];
}

Cet exemple reprend ainsi les notions que nous avons abordées dans les chapitres précédents et démontre ainsi la grande homogénéité de mise en oeuvre de Cocoa Touch. L'ensemble des classes spécifiques à l'accès à la librairie iPod représente un volume qui dépasse le cadre de cet ouvrage. Elles sont décrites dans le guide :

[12-1] iPod Library Access Programming Guide