|
|
Développez sur mobile - Page 5 |
Page 5 sur 8 Multimédia API Si votre téléphone portable supporte la spécification JSR 135 Mobile Media API, vous pourrez gouter à la joie de piloter l'appareil photo ou caméra de votre mobile. 4 classes principales sont là pour utiliser l'API : Voir figure 4 - Manager
- Player
- Control
- Datasource
Figure 4 La classe Manager contient uniquement des méthodes statiques. La méthode Manager.createPlayer créé un player avec un DataSource associé pour lui fournir les données. La source de données peut être construite à partir d'un flux (InputStream) ou d'un " URI-style locator ". En voici quelques exemples : URI-style locator
| Source de données | file:///c:/nokia/Images/Image001.jpg
| Un simple fichier | http://adresseweb.com/fichier.wav
| Une adresse web | capture://image
| Capturer une photo depuis l'appareil photo | capture://video
| Capturer une vidéo | capture://audio
| Enregistrer du son | Tableau 4 Voici un exemple de code pour afficher la capture en temps réel de ce qui est visualisé par l'objectif de l'appareil photo. Le rendu est affiché directement sur la Form.
Form f = new Form("JPP Form"); // Crée la form principale Display.getDisplay(this).setCurrent(f); // Affiche la form Player p = Manager.createPlayer("capture://video"); p.realize(); // Initialise le player VideoControl vc = (VideoControl)p.getControl("VideoControl"); if (vc != null) { Item it = (Item) vc.initDisplayMode (VideoControl.USE_GUI_PRIMITIVE, null); f.append(it); // Rajoute l'item à la form. p.start(); // Affiche la vidéo dans l'item. }
La ligne de code suivante permet de prendre une photo : videoControl.getSnapshot("encoding=bmp");
Cette architecture très ouverte permet aussi d'afficher des vidéos au format 3gp, de jouer des sons très facilement, etc. La méthode getControl de la classe Player renvoie une interface abstraite que plusieurs classes concrètes implémentent. Suivant les cas, le transtypage vous permettra de manipuler tel ou tel type de contrôle. Voici quelques exemples de classes concrètes : - ToneControl
- VolumeControl
- VideoControl
- StopTimeControl
- RecordControl
|
|
|
|