Lire du son dans une application de terminal BlackBerry

  1. Importez les classes et les interfaces requises.
    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.container.*;
    import net.rim.device.api.ui.component.*;
    import javax.microedition.media.*;
    import javax.microedition.media.control.*;
    import java.io.*
  2. Créez le cadre d'application en développant la classe UiApplication. Dans main(), créez une instance de la nouvelle classe et appelez enterEventDispatcher() pour activer l'application et recevoir des événements. Dans le constructeur d'application, appelez pushScreen() pour afficher l'écran personnalisé de l'application. La classe AudioPlaybackDemoScreen décrite à l'étape 3 représente l'écran personnalisé.
    public class AudioPlaybackDemo extends UiApplication
    {
         public static void main(String[] args)
         {
              AudioPlaybackDemo app = new AudioPlaybackDemo();
              app.enterEventDispatcher();
         }
         public AudioPlaybackDemo()
         {
              pushScreen(new AudioPlaybackDemoScreen());
         }
    }
  3. Créez le cadre de l'écran personnalisé en développant la classe MainScreen.
    class AudioPlaybackDemoScreen extends MainScreen
    {	
         public AudioPlaybackDemoScreen()
         {
         }
    }
  4. Avec le constructeur d'écran, dans un bloc try/catch, créez une instance de la classe Player en appelant Manager.createPlayer(String) et transmettez l'emplacement du fichier audio à lire.
    try 
    {
        Player p = javax.microedition.media.Manager.createPlayer("http://abc.com/sounds/abc.wav");
    }
    catch(MediaException me)
    {
        Dialog.alert(me.toString());
    }
    catch(IOException ioe)
    {
        Dialog.alert(ioe.toString());
    }
  5. Pour contrôler un aspect précis de la lecture, récupérez l'objet Control approprié. Appelez la méthode realize() de l'objet Player pour accéder à son objet Control associé. L'échantillon de code suivant montre comment récupérer l'objet VolumeControl et définir le niveau du volume de la lecture.
    try 
    {
        Player p = javax.microedition.media.Manager.createPlayer("http://abc.com/sounds/abc.wav");
        p.realize();
        VolumeControl volume = (VolumeControl) p.getControl("VolumeControl");
        volume.setLevel(30);
    }
    catch(MediaException me)
    {
        Dialog.alert(me.toString());
    }
    catch(IOException ioe)
    {
        Dialog.alert(ioe.toString());
    }
  6. Appelez Player.start() pour démarrer la lecture. L'appel de Player.start() exécute toutes les transitions d'état nécessaires. Dans l'échantillon de code suivant, les méthodes realize() et prefetch() sont appelées pour montrer comment initialiser explicitement l'objet Player avant de démarrer la lecture.
    try 
    {
        Player p = javax.microedition.media.Manager.createPlayer("http://<host>/<file.wav>");
        p.realize();
        VolumeControl volume = (VolumeControl)p.getControl("VolumeControl");
        volume.setLevel(30);
        p.prefetch();
        p.start();
    }
    catch(MediaException me)
    {
        Dialog.alert(me.toString());
    }
    catch(IOException ioe)
    {
        Dialog.alert(ioe.toString());
    }
Sujet précédent: Formats audio pris en charge

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.