Reproducir audio en una aplicación del dispositivo BlackBerry

  1. Importe las clases y las interfaces necesarias.
    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. Cree el marco de la aplicación ampliando la clase UiApplication. En main(), cree una instancia de la clase nueva e invoque enterEventDispatcher() para activar la aplicación para recibir eventos. En el constructor de la aplicación, invoque pushScreen() para mostrar la pantalla personalizada para la aplicación. La clase AudioPlaybackDemoScreen, descrita en el paso 3, representa la pantalla personalizada.
    public class AudioPlaybackDemo extends UiApplication
    {
         public static void main(String[] args)
         {
              AudioPlaybackDemo app = new AudioPlaybackDemo();
              app.enterEventDispatcher();
         }
         public AudioPlaybackDemo()
         {
              pushScreen(new AudioPlaybackDemoScreen());
         }
    }
  3. Cree el marco para la pantalla personalizada ampliando la clase MainScreen.
    class AudioPlaybackDemoScreen extends MainScreen
    {	
         public AudioPlaybackDemoScreen()
         {
         }
    }
  4. En el constructor de la pantalla, en un bloque try/catch, cree una instancia de la clase Player invocando Manager.createPlayer(String) y pasando la ubicación del archivo de audio que se va a reproducir.
    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. Para controlar un aspecto de la reproducción, recupere el objeto Control correspondiente. Invoque el método Player del objeto realize() para acceder a su objeto Control asociado. El siguiente código de ejemplo muestra cómo recuperar el objeto VolumeControl y configurar el nivel de volumen de la reproducción.
    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. Invoque Player.start() para iniciar la reproducción. Al invocar Player.start(), se ejecutan todas las transiciones de estado necesarias. En el siguiente código de ejemplo, se invocan tanto realize() como prefetch() para mostrar cómo inicializar de forma explícita el objeto Player antes de iniciar la reproducción.
    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());
    }

¿Le ha resultado útil esta información? Envíenos sus comentarios.