2011-08-29 36 views
2

这只是一些代码,因为其他部分是分布式的,但是在黑莓Curve模拟器上,这会将VideoControl添加到管理器并显示正常另一个按钮实际上捕捉图片。但是,当我在一个实际的黑莓曲线(我认为是第6版)上运行它时,它不会在屏幕上显示它。使用VideoControl捕获黑莓应用程序中的图像只适用于仿真器而不是设备

try 
    { 
     _p = javax.microedition.media.Manager.createPlayer("capture://video?encoding=jpeg&width=1024&height=768"); 
     _p.realize(); 
     _videoControl = (VideoControl) _p.getControl("VideoControl"); 

     if (_videoControl != null) 
     { 
      videoField = (Field) _videoControl.initDisplayMode (VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field"); 
      // _videoControl.setDisplayFullScreen(true); 
      _videoControl.setVisible(true); 
      // EnhancedFocusControl efc = (EnhancedFocusControl)p.getControl("net.rim.device.api.amms.control.camera.EnhancedFocusControl"); 
      // efc.startAutoFocus(); 
      _p.start(); 


      if(videoField != null) 
      { 
       add(videoField); 
      } 
     } 
    } 
    catch(Exception e) 
    { 
     Dialog.alert(e.toString()); 
    } 

回答

2

以我的经验图像的拍摄使用的方式已经出现非常不可靠的(它工作得很好仅在设备的数量有限),所以我停止使用它。使用本机相机应用程序 - 它可以在所有设备上正常工作。

+0

我可以指导我如何使用本机相机应用程序?..我是新的BB。 –

+0

@KinjalShah:那是几年前,所以我不记得细节。虽然我可以说需要使用'FileSystemJournalListener'和'Invoke' API。作为一个起点(我刚刚搜索了它)看看这里:http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Still-valid-to-use-FileJournalListener-to-capture -camera图像/ MP/598208 –

1

当事情在模拟器上工作,但不是设备它的权限相关的很多时间,你检查过ApplicationPermissionsManager吗?

警告字,从OS4.5到6很多东西已被弃用,因此请确保您检查您对正在使用的模型拥有正确的权限。 例如ApplicationPermissions.PERMISSION_SCREEN_CAPTURE在4.6中已被弃用。

干杯

相关问题