0

アプリを使用してビデオを録画しようとしていますが、録画ボタンをクリックすると、nullpointer 例外がスローされCamera.Parameters params = mCamera.getParameters();ます。私はたくさん検索しましたが、1つの解決策を見つけましcamera.open()たが、これも私の状態では機能していません。私の携帯にはバックカメラがあるので、camera.open(0) または camera.open(1) も試しましたが、役に立ちませんでした。

参照用の私のコードは次のとおりです。

@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();   

これが私のlogacatです。

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):  

コードの何が問題なのかわかりません。参考やヒントを教えてください。
ありがとうございました

4

1 に答える 1

0

何らかの理由でカメラが解放されなかったり、アプリがクラッシュした場合、カメラを開けなくなる可能性があります。あなたのケースについてはよくわかりませんが、この可能性も考えられます。その場合、デバイスを再起動すると機能します。

于 2013-04-23T14:01:00.210 に答える