我是 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 同时实现
在公司
关于blackberry - 在 Blackberry 上打开 Flash as Light,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4253927/