Black berry camera programming

2019-08-03 13:29发布

I want take pictures using black berry camera for my app, it is possible in v5.0 and yes then how?

标签: blackberry
2条回答
老娘就宠你
2楼-- · 2019-08-03 13:53

Take a look at samples that come with the BB SDK installation on your PC. There is CameraDemo sample. You can just try searching for CameraDemo.java on your HDD if you're unsure where those samples are.

查看更多
爷的心禁止访问
3楼-- · 2019-08-03 13:57

Yes it is definitely possible, but not a very simple task if you don't get some advice up front.

First and foremost, there is some sample code that is shipped with the Eclipse package at least (CameraDemo) that shows how to create a viewfiender using a Field, Player, and VideoScreen. The biggest issue is third party developers cannot overlay anything on top of the view finder (which is the what they'll call the Field after you set it as such with a VideoControl.

Also, you are very limited to what size you can set the Field -- I only got half size and fullscreen working, some dimensions got ignored and others caused it to not be displayed at all.

Here is some code that shows this:

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
        }
    }

After you do this you can use

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

to snap the picture. To determine what sizeAndEncodingParameters your device supports, you can use System.getProperty("video.snapshot.encodings"); which will return a String[] that you can iterate over to determine what to use.

查看更多
登录 后发表回答