有关CustomCamera当中的问题

bryanwuAC Android基础知识-传感器... 最后由 极客学院-Ukey 于2015年06月29日回复

  • 1 回答
  • 3.5k 浏览

我将课程所涉及到的源代码所下载下来,在Android Studio的模拟器中运行,首先是有关全屏显示的报错:

requestFeature() must be called before adding content,

将全屏设置去掉后,可以在模拟器中的虚拟相机中运行,但是若设置模拟器相机为网络摄像头,或在手机上运行时,依然报错:

06-27 06:59:21.829    2344-2344/com.example.bryan.customcamera E/AndroidRuntime﹕ FATAL EXCEPTION: main

    Process: com.example.bryan.customcamera, PID: 2344

    java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.Camera$Parameters android.hardware.Camera.getParameters()' on a null object reference

            at com.example.bryan.customcamera.MainActivity$Preview.surfaceChanged(MainActivity.java:102)

            at android.view.SurfaceView.updateWindow(SurfaceView.java:591)

            at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:176)

            at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)

            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1970)

            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)

            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885)

            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)

            at android.view.Choreographer.doCallbacks(Choreographer.java:580)

            at android.view.Choreographer.doFrame(Choreographer.java:550)

            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)

            at android.os.Handler.handleCallback(Handler.java:739)

            at android.os.Handler.dispatchMessage(Handler.java:95)

            at android.os.Looper.loop(Looper.java:135)

            at android.app.ActivityThread.main(ActivityThread.java:5257)

            at java.lang.reflect.Method.invoke(Native Method)

            at java.lang.reflect.Method.invoke(Method.java:372)

            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)

            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)


另外,视频当中提到通过按钮来拍摄照片并且存储到sd卡当中,我使用eclipse编译并在设备上运行并没有此功能,请问如何解决?

  • 极客学院-Ukey 2015年06月29日 回答 #1楼
  • getParameters的时候null了。这段主要的用途是设置预览分辨率。可以先去掉这段代码运行看看。

  • 0 评论