我想编写一个像手电筒这样的应用程序(在摄像头 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
?
最佳答案
我刚收到一个 bb,我想尝试解决同样的问题。无论如何,我终于让它工作了。
我在整个测试期间观察到的事情是,如果 videoField 像你说的那样隐藏,闪光灯将无法工作......所以我做的技巧是
<pre>
_videoControl.setDisplaySize( 1 , 1 );
</pre>
这为我完成了工作。你也可以将它设置为
<pre>
_videoControl.setDisplaySize( 0 , 0 );
</pre>
但无论你做什么......确保你设置
<pre>
_videoControl.setVisible(true);
</pre>
否则你的闪光灯将无法工作
关于BlackBerry - 可以隐藏视频字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15153935/