黑莓 - 可能隐藏视频字段?

CAM*_*BAP 5 camera blackberry java-me flashlight

我想写一个像手电筒一样的应用程序(在相机LED的帮助下).

Player player = javax.microedition.media.Manager.createPlayer("capture://video?encoding=video/3gpp");

player.realize();

VideoControl videoControl = (VideoControl) player.getControl("VideoControl");
if(videoControl != null)
{
    videoField = (Field)videoControl.initDisplayMode( VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field" );
    try
    {
        videoControl.setDisplaySize(1, 1);
    }
    catch(Exception e)
    {
        PGLogUtil.logString(e.toString());
    }
    videoControl.setVisible(true);
    add(videoField);

    FlashControl flashControl = (FlashControl)
            player.getControl("javax.microedition.amms.control.camera.FlashControl");
    setFlashlight(true);
}
player.start();
Run Code Online (Sandbox Code Playgroud)

上面的代码工作得很好,但我想隐藏videoField.当我移除add(videoField)或使用时videoControl.setVisible(false),手电筒不起作用.有人可以解释原因吗?

如何用隐藏的灯打开灯videoField

小智 -1

我刚刚得到了一个带有闪光灯的 bb,我想尝试解决同样的问题。无论如何我终于让它工作了。我在整个测试期间观察到的一件事是,如果视频场像你所说的那样被隐藏,闪光灯将无法工作......所以我所做的技巧是

    <pre>
    _videoControl.setDisplaySize( 1 , 1 );
    </pre>
Run Code Online (Sandbox Code Playgroud)

这对我来说已经完成了工作。你也可以将其设置为

    <pre>
    _videoControl.setDisplaySize( 0 , 0 );
    </pre>
Run Code Online (Sandbox Code Playgroud)

但无论你做什么......确保你设置

    <pre>
    _videoControl.setVisible(true);
   </pre>
Run Code Online (Sandbox Code Playgroud)

否则你的闪光灯将无法工作