加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Blackberry上打开Flash作为Light

发布时间:2020-12-15 07:29:53 所属栏目:百科 来源:网络整理
导读:我是BlackBerry应用程序开发的新手,并试图制作一个简单的应用程序来打开我的闪光灯作为火炬.我知道有几个应用程序已经这样做了,但我想尝试自己做. 我已经安装了eclipse和所有必要的附加功能以使我的开发环境运行.我还成功创建了股票标准hello world应用程序.
我是BlackBerry应用程序开发的新手,并试图制作一个简单的应用程序来打开我的闪光灯作为火炬.我知道有几个应用程序已经这样做了,但我想尝试自己做.

我已经安装了eclipse和所有必要的附加功能以使我的开发环境运行.我还成功创建了股票标准hello world应用程序.

然而,我正在努力寻找如何做到这一点.我一直在阅读API文档,并开始使用FlashControl,VideoControl和SnapshotControl.
然而,这些似乎没有公开这样做的方法.

我知道通过摄像机,我可以选择并打开闪光灯,这正是我想模仿的.

我到目前为止使用的代码似乎只是设置相机闪光灯强制打开是:

Player p = javax.microedition.media.Manager.createPlayer("capture://video");
p.realize();
p.start();

FlashControl flashControl = (FlashControl) p.getControl("javax.microedition.amms.control.camera.FlashControl");
flashControl.setMode(FlashControl.FORCE);

解决方法

我已经解决了与闪光控制相关的问题

按照我在我最近的应用程序上使用闪光控制

相机.

这是我使用的代码:

public Camera(int j) 
{
    k = j;
    try 
    {
        Player player = Manager.createPlayer("capture://video");
        player.realize();

        _videoControl = (VideoControl) player.getControl("VideoControl");
        flashControl = new FlashControl() 
        {
            public void setMode(int mode) 
            {
                // TODO Auto-generated method stub
            }

            public boolean isFlashReady() 
            {
                // TODO Auto-generated method stub
                return false;
            }

            public int[] getSupportedModes() 
            {
                // TODO Auto-generated method stub
                return null;
            }

            public int getMode() 
            {
                // TODO Auto-generated method stub
                return 0;
            }
        };
        flashControl = (FlashControl) player
                .getControl("javax.microedition.amms.control.camera.FlashControl");

        try {

            if (k == 1) 
            {
                flashControl.setMode(FlashControl.AUTO);
                Dialog.alert("slect Auto");
            } 
            else if (k == 2) 
            {
                flashControl.setMode(FlashControl.OFF);
                Dialog.alert("slect No");
            }
        } 
        catch (Exception e) 
        {
            System.out.println(e);
        }

        if (_videoControl != null) 
        {
            _videoField = (Field) _videoControl.initDisplayMode(
                    VideoControl.USE_GUI_PRIMITIVE,"net.rim.device.api.ui.Field");

            // _videoControl.setDisplaySize(330,420);
            // _videoControl.setDisplayLocation(getContentWidth(),// getContentHeight());

            _videoControl.setVisible(true);

            add(_videoField);

            capture = new ButtonField("Capture",Field.FIELD_HCENTER);
            capture.setChangeListener(this);

            add(capture);
            player.start();

        }
    } 
    catch (Exception e) 
    {
        System.out.println(e);
    }
}

这个逻辑与Pinkesh同时作为我的同事实施

在comapny

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读