我正在开发一个使用相机的应用程序......我的应用程序的要求是:
我必须从“已经运行”的后台应用程序中拍照;但我必须将相机应用程序保持在后台......意味着我想在不干扰当前前台应用程序的情况下捕获图片。
而且没有发出任何相机快门声....???
这可能吗?如果我们调用相机应用程序 - 通过 Invoke.invokeApplication(Invoke.APP_TYPE_CAMERA, new CameraArguments())............
感谢你们所有人......特别是@donturner ......很抱歉很晚才回来写这篇文章。
经过一些尝试,我发现如果不将相机屏幕置于前台,我们就无法捕捉到快照。
1)如果我们将相机屏幕置于背景或
2) 将 VideoControl 的类对象的可见性更改为 false...
_videoControl.setVisible(false);
那么......将不会收到任何字节(空值)
byte[] imageBytes = _videoControl.getSnapshot( encoding );
那么这个功能有什么用....而我们使用视频控制类来捕捉快照或视频???
_videoControl.setVisible(true);
我尝试了一个不同的技巧......
在将相机屏幕置于前台以关闭设备的背光之前,我调用了一个线程。
然后不久之后,我将相机屏幕带到前台并捕捉快照。
我在 BB Flip (4.6) 和 Storm (5.0) 设备上测试了上述技巧,即使设备背光关闭,它也能成功拍摄快照。
但现在我陷入了其他一些问题……那就是相机快门声。我尝试了很多,但无法成功将其静音....
正如@Michael Donohue 建议的那样,我尝试过..
private void muteThread() {
Thread t = new Thread(new Runnable() {
public void run() {
try {
int i = 0;
while (i < 50) {
Audio.setVolume(0);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
}
i++;
}
System.out.println("\n\n >>>>> End of Mute Thread. <<<< \n\n");
} catch (Exception e) {
}
}
});
t.start();
}
但它不起作用......如果不能做到这一点,那么这些应用程序如何提供这种设施......以及他们使用的功能类型。
http://appworld.blackberry.com/webstore/content/97648/?lang=en
http://appworld.blackberry.com/webstore/content/79083/?lang=en