Affichage d'images graphiques sur des champs vidéo

Vous pouvez utiliser l'interface net.rim.device.api.media.control.AdvancedVideoControl pour définir un mode d'affichage vidéo qui vous permet d'afficher des composants fondamentaux de l'interface utilisateur dans des champs vidéo. AdvancedVideoControl développe javax.microedition.media.control.VideoControl pour accroître la fonctionnalité. Par exemple, vous pouvez placer des commandes de lecture sur une vidéo lue dans votre application. L'interface AdvancedVideoControl fournit une constante de mode, USE_GUI_ADVANCED, que vous transmettez à VideoControl.initDisplayMode().

Lorsque vous transmettez USE_GUI_ADVANCED à initDisplayMode(), l'argument de l'objet que vous transmettez avec ne doit pas être nul et doit être un objet java.lang.String égal à « net.rim.device.api.ui.Field ». Lorsque vous appelez initDisplayMode(), une instance de net.rim.device.api.ui.Field est renvoyée.

Vous pouvez indiquer la zone géographique pour laquelle afficher la vidéo en appelant VideoControl.setDisplayLocation(). L'emplacement par défaut est (0,0). Le mode USE_GUI_ADVANCED ne prend pas en charge le traçage d'autres images graphiques directement dans la même zone du canevas. Cependant, vous pouvez superposer un autre objet Fields ou Managers alors que ce mode est actif.

Pour obtenir un objet AdvancedVideocontrol, appelez Player.getControl() et transmettez le nom complet de la commande.

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
}

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