Representación de gráficos sobre campos de vídeo

Puede utilizar la interfaz net.rim.device.api.media.control.AdvancedVideoControl para definir un modo de visualización de vídeo que le permita representar los componentes principales de la IU sobre campos de vídeo. AdvancedVideoControl amplía javax.microedition.media.control.VideoControl para ofrecer funciones adicionales. Por ejemplo, puede colocar controles de reproducción sobre un vídeo que se reproduzca en su aplicación. La interfaz AdvancedVideoControl ofrece una constante de modo, USE_GUI_ADVANCED, que debe pasar a VideoControl.initDisplayMode().

Cuando se pasa USE_GUI_ADVANCED a initDisplayMode(), el argumento de objeto que pasa consigo no debe ser nulo y debe ser un java.lang.String igual a "net.rim.device.api.ui.Field". Cuando invoque initDisplayMode(), devuelve una instancia de net.rim.device.api.ui.Field.

Puede especificar la región donde quiere representar el vídeo invocando VideoControl.setDisplayLocation(). La ubicación predeterminada es (0,0). El modo USE_GUI_ADVANCED no admite la representación directa de otros gráficos en la misma región del fondo, pero se puede superponer otro Fields o Managers mientras este modo está activo.

Para obtener un objeto AdvancedVideocontrol, invoque Player.getControl() y pase el nombre completo del control.

Field field;
try 
{
    Player p = Manager.createPlayer("<URL of video source>");
    p.realize();
    AdvancedVideoControl vc;
    if ((vc = (AdvancedVideoControl) p.getControl(
         "net.rim.device.api.media.control.AdvancedVideoControl")) != null)
    {
        field = (Field)vc.initDisplayMode(AdvancedVideoControl.USE_GUI_ADVANCED,
                 "net.rim.device.api.ui.Field");
        vc.setVisible(true);
    }
    p.start();
} 
catch (MediaException pe)
{
    // Code that runs if a player cannot be created
}
catch (IOException ioe) 
{
    // Code that runs if the video source is not accessible
}

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