【问题标题】:BlackBerry - Possible to Hide Video Field?BlackBerry - 可以隐藏视频字段吗?
【发布时间】:2013-03-01 08:58:58
【问题描述】:

我想编写一个像手电筒这样的应用程序(借助摄像头 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 打开灯?

【问题讨论】:

  • 您必须支持的最低操作系统是多少?
  • 也许尝试将另一个屏幕推到前台,或者当您扩展 MainScreen 覆盖绘制并且不在那里执行任何操作时。
  • 嗨,CAMOBAP,您得到解决方案了吗?我在这里也面临同样的问题。你能帮忙吗?
  • 我仍然没有适用于所有设备的解决方案。对于某些设备线videoControl.setDisplaySize(1, 1)正常工作并且相机Field成功隐藏

标签: blackberry java-me camera flashlight


【解决方案1】:

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

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

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

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

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

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

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

【讨论】:

  • 这个“答案”只是对发布的问题的重复。您要添加哪些新信息?
  • @Nate:他问他如何隐藏视频字段,我建议他设置控件的显示大小...
  • 你只是重复了他说他已经尝试过的完全相同相同的代码。
猜你喜欢
  • 2020-02-22
  • 2016-12-19
  • 2017-02-02
  • 2012-02-13
  • 1970-01-01
  • 2015-05-21
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多