2013-04-23 4 views
0

Я пытаюсь записывать видео с помощью своего приложения, но когда я нажимаю кнопку re cord, он бросает исключение nullpointer на Camera.Parameters params = mCamera.getParameters();. Я искал много, но нашел одно решение, например, camera.open(), но которое также не работает в моем состоянии. У моего мобильного телефона есть камера заднего вида, поэтому я также попробовал camera.open (0) или camera.open (1), но ничего не полезного.получение исключения nullpointer при попытке начать запись видео

Вот мой код для справки.

@Override 
public void onCreate(Bundle savedInstanceState) { 
    //mCamera = Camera.open(0); 
    if (mCamera == null) { 
    mCamera = getCameraInstance(); 
    // Create preview view and set it as the content of our activity. 
    mPreview = new CameraPreview(this, mCamera); 
    } else { 
     mCamera.release(); 
     mCamera = getCameraInstance(); 

     mPreview = new CameraPreview(this, mCamera);  
     } 
     int i = R.id.videoFrameView; 
     Object o = this.findViewById(i); 
     final FrameLayout preview = (FrameLayout) o;    

     preview.addView(mPreview); 
     //mCamera = Camera.open(1); 
     Camera.Parameters params = mCamera.getParameters(); 
    // Here i am getting nullpointer exception. 
     params.set("cam_mode", 1); 
     mCamera.setParameters(params); 

     sizes = params.getSupportedPreviewSizes(); 

Это мой логакат.

04-23 19:21:27.642: E/AndroidRuntime(25598): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aml.videoaml/com.aml.videoaml.RecordActivity}: java.lang.NullPointerException 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2077) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.access$600(ActivityThread.java:134) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.os.Looper.loop(Looper.java:154) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.main(ActivityThread.java:4624) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at java.lang.reflect.Method.invokeNative(Native Method) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at java.lang.reflect.Method.invoke(Method.java:511) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at dalvik.system.NativeStart.main(Native Method) 
04-23 19:21:27.642: E/AndroidRuntime(25598): Caused by: java.lang.NullPointerException 
04-23 19:21:27.642: E/AndroidRuntime(25598): at com.aml.videoaml.RecordActivity.onCreate(RecordActivity.java:63) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.Activity.performCreate(Activity.java:4479) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050) 
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2041) 
04-23 19:21:27.642: E/AndroidRuntime(25598): 

Я не понимаю, что не так в моем коде, пожалуйста, дайте мне любую ссылку или подсказку.

ответ

0

Если камера по какой-либо причине не была выпущена или сбой приложения, то есть вероятность того, что вы не сможете открыть камеру. Я не уверен в вашем случае, но вы тоже можете подумать об этой возможности. В этом случае перезагрузка устройства будет работать.

Смежные вопросы