開発中のアプリにカメラを搭載したいと考えています。
アクティビティの動きは以下のようになっています。
Home.java -> Camera.java -> Que.java
Home.javaでStartボタンを押したら、Camera.javaが起動するようになっています。
カメラの搭載方法を調べてみたのですが、よくわかりませんでした。
調べた場所は複数ありますが、ここを参考にして行ってみましたができませんでした。
//http://blog.kotemaru.org/2015/05/23/android-camera2-sample.html
Camera.javaで行いたいことは以下のものです。
・カメラを縦向きで起動
・インカメラで撮影(カメラの切り替えができたらより良いです)
・プレビューを表示して、再撮影かnextを選択する
・次のアクティビティに移動
プレビューをしないで、そのまま受け渡しても良いのですが、
練習のためにプレビューの仕方も学べたらと考えています。
宜しくお願いいたします。
--追記
ビルドが通りませんでした。
Camera2StateMachine.javaにおいて、
mCameraManager.openCamera(cameraId, mStateCallback, mHandler);
が、赤く、エラーが出ています。
他は、LoliPopまでに対応させる?ことでエラーは消えました。
Android Monitorより
Process: com.example.camera, PID: 3134 java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.Camera$Parameters android.hardware.Camera.getParameters()' on a null object reference at com.example.camera.MainActivity$SurfaceHolderCallback.surfaceCreated(MainActivity.java:43) at android.view.SurfaceView.updateWindow(SurfaceView.java:582) at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:177) at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2055) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:606) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
回答2件
あなたの回答
tips
プレビュー