我想写一个类似手电筒的应用程序(在相机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
启用灯光?
答案 0 :(得分:-1)
我刚买了一个有闪光灯的bb,我想尝试同样的问题。无论如何我终于开始工作了。 我在整个测试时间内观察到的事情是,如果像你说的那样隐藏了videoField,闪光灯将无效......所以我做的伎俩是
<pre>
_videoControl.setDisplaySize( 1 , 1 );
</pre>
这对我有用。您也可以将其设置为
<pre>
_videoControl.setDisplaySize( 0 , 0 );
</pre>
但无论你做什么......确保你设置
<pre>
_videoControl.setVisible(true);
</pre>
否则你的闪光灯将无效