5

我想编写一个像手电筒这样的应用程序(在相机 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();

上面的代码完美运行,但我想隐藏videoField. 当我移除add(videoField)或使用videoControl.setVisible(false)时,手电筒不工作。有人可以解释为什么吗?

如何用隐藏的方式打开灯videoField

4

1 回答 1

-1

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

    <pre>
    _videoControl.setDisplaySize( 1 , 1 );
    </pre>

这为我完成了工作。您也可以将其设置为

    <pre>
    _videoControl.setDisplaySize( 0 , 0 );
    </pre>

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

    <pre>
    _videoControl.setVisible(true);
   </pre>

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

于 2013-08-18T22:10:20.293 回答