2017-07-17 30 views
0

Android:何が問題なのですか?私はCAMERA2を使ってAndroidのカメラから画像を取得しようとしていますが、何かが動作していません。 私のカメラからビデオストリームを取得し、それを画面に表示するだけです。コードMainActivity: https://github.com/googlesamples/android-Camera2VideoCamera2でAndroidカメラの画像を取得できません

あなたの現在のコードは、あなたのTextureViewとカメラのキャプチャセッションを作成していない、とあなた決して:

public class MainActivity extends AppCompatActivity { 
private CameraManager cameraManager = null; 
private TextureView textureView = null; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    textureView = (TextureView) findViewById(R.id.textureView); 

    cameraManager = (CameraManager) getSystemService(CAMERA_SERVICE); 

} 

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) 
@Override 
protected void onResume() { 
    super.onResume(); 
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { 
     return; 
    } 
    try { 
     cameraManager.openCamera(cameraManager.getCameraIdList()[0], new CameraDevice.StateCallback() { 
      @Override 
      public void onOpened(@NonNull CameraDevice camera) { 
       CaptureRequest.Builder builder = null; 
       try { 
        builder = camera.createCaptureRequest(CameraDevice.TEMPLATE_RECORD); 
       } catch (CameraAccessException e) { 
        e.printStackTrace(); 
       } 
       if(builder != null) 
        if(textureView != null) 
        builder.addTarget(new Surface(textureView.getSurfaceTexture())); 
       else onClosed(camera); 
      } 

      @Override 
      public void onDisconnected(@NonNull CameraDevice camera) { 
      } 

      @Override 
      public void onError(@NonNull CameraDevice camera, int error) { 

      } 
     }, new Handler(getApplicationContext().getMainLooper())); 
    } catch (CameraAccessException e) { 
     e.printStackTrace(); 
    } 
} 

+0

「何かがうまくいかない」とは何ですか? logcatにエラーログがありますか?あなたは実行時の許可を要求しましたか? –

+0

はい、私はカメラを使用するためのマニフェストにサインインしました。 Logcatでは、surficetextureがヌルであってはならないと書いています。 –

+0

'マニフェストにサインインしました.'は'実行時の許可 'ではありません。あなたは**実行時**許可を要求しましたか? –

答えて

0

は、カメラ2用のサンプルビデオキャプチャアプリを見てみてください助けてくださいそのセッションに繰り返しキャプチャ要求を送信することもありません。サンプルを見て、カメラのセットアップ方法を見てください。

関連する問題