黑莓相机编程

时间:2011-04-12 11:18:41

标签: blackberry

我想用我的应用程序使用黑莓相机拍照,有可能在v5.0中,是的,那么如何?

2 个答案:

答案 0 :(得分:4)

是的,这绝对是可能的,但如果你事先没有得到一些建议,这不是一个非常简单的任务。

首先,Eclipse包中附带了一些示例代码(CameraDemo),它显示了如何使用Field,Player和VideoScreen创建viewfiender。最大的问题是第三方开发人员无法在取景器之上叠加任何内容(在使用VideoControl进行设置之后,这就是他们称之为Field的内容。

此外,你只能限制你可以设置字段的大小 - 我只有一半的尺寸和全屏工作,一些尺寸被忽略而其他尺寸导致它根本不显示。

以下是一些显示此内容的代码:

private Field _videoField;
private Player _player;
private VideoControl _videoControl;

private void initCamera() {
        try{ 
            _player = Manager.createPlayer( "capture://video??encoding=jpeg&width=640&height=480" );
            _player.realize();
            _player.prefetch();
            _videoControl = (VideoControl)_player.getControl("VideoControl");
            _player.start();                
            if (_videoControl != null){

                _videoField = (Field) _videoControl.initDisplayMode (VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field");
                _videoControl.setDisplayFullScreen(true);
                add(_videoField);
            }
        }
        catch(Exception e)
        {
           //show error
        }
    }

执行此操作后,您可以使用

            byte[] image = _videoControl.getSnapshot(sizeAndEncodingParamters);

拍下照片。要确定您的设备支持的sizeAndEncodingParameters,您可以使用System.getProperty("video.snapshot.encodings");返回String[],您可以迭代以确定要使用的内容。

答案 1 :(得分:0)

在PC上查看BB SDK安装附带的示例。有CameraDemo样本。如果您不确定这些样本的位置,您可以尝试在硬盘上搜索CameraDemo.java。