-4

私はブラックベリー開発者です。私はブラックベリーカメラアプリケーションを作成します。 しかし、私はクリックすると写真を撮ることができるので、ユーザーの介入なしに写真を撮ることができます。私のアプリケーションには必要です。 私に連絡してコードを送ってください。私はこのプロセスを進んでいます。ユーザーの介入なしにブラックベリーでカメラから写真を撮るには?

public void doTakePicture(){ 
    try 
    { 

     System.out.println("Inside doTakePicture"); 
     Invoke.invokeApplication(Invoke.APP_TYPE_CAMERA,new CameraArguments()); 
     player = javax.microedition.media.Manager.createPlayer("capture://video"); 
     player.realize(); 
     player.start(); 
     videoControl = (VideoControl) player.getControl("VideoControl"); 

     if(videoControl!=null) 
     { 
      Field videoField = (Field) videoControl.initDisplayMode (VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field"); 
      videoControl.setDisplayFullScreen(true); 
      videoControl.setVisible(true); 
      System.out.println("videoControl=="+videoControl); 
      if(videoField != null) 
      { 
       add(videoField); 
      } 

     } 


    } 



catch(Exception ex) 
{ 
    System.out.println(ex); 

} 
} 

パブリックブールinvokeAction(INT作用) { のSystem.out.println( "アクション==" +アクション)。 ブール処理= super.invokeAction(アクション);私はカメラが起動しているが、自動撮影をして、私はここにnull値を取得していない時に自動写真を撮ってみたい、このコードを使用して

System.out.println("handled=="+handled); 
System.out.println("Inside Invoke Camera"); 

if(handled==false) 
{ 
    System.out.println("Inside First If Blog"); 
    if(action == ACTION_INVOKE) 
    { 
     System.out.println("Inside Second If Blog"); 
     try 
     {  
      System.out.println("If Blog of invoke Action"); 


      System.out.println("videoControl11=="+videoControl); 
      byte[] snapshot = videoControl.getSnapshot(null); 
      System.out.println("snapshot=="+snapshot); 
     } 
     catch(Exception e) 
     { 
      Dialog.alert(e.toString()); 
     } 
    } 
}   
return handled;     

}

バイト[]スナップショット= videoControl.getSnapshot(ヌル) ; 私が間違っているところで助けてください。
ありがとうございます

+3

どうしますか?それはかなりスケッチな要求のように聞こえる。 –

+3

あなたの編集に関して、「私のアプリケーションには必要です」とは十分ではなく、非倫理的/不道徳的な目的のためにこれをやっていると私は認識しています。私が間違っていることを証明してください。 –

+2

SOユーザーがポスターに対して道義的判断を下すのは確実ではありません。自動写真撮影には多くの正当な用途があります。タイムラプス撮影は、湧き出るものです。 – donturner

答えて

3

デフォルトのカメラアプリケーションを呼び出すのではなく、アプリケーション内からカメラをインスタンス化する必要があります。これを済ませたら、VideoControl.getSnapshotと呼んでプログラムで写真を撮ることができます。例:

Player player = Manager.createPlayer("capture://video"); 
player.realize(); 
player.start(); 
VideoControl videoControl = (VideoControl) player.getControl("VideoControl"); 

//this will take a photo 
byte[] snapshot = videoControl.getSnapshot("encoding=jpeg&width=640&height=480&quality=superfine"); 
関連する問題