8

Web全体を検索しましたが、その1001エラーが何であるかがわかりません。その数秒後、カメラ100エラーが発生しますが、最初のエラーが何であるかがわかりません。誰かアイデアはありますか?

4

4 に答える 4

5

S3でもこのエラーが発生しました。MediaRecorderでカメラプレビューサーフェスがどのように使用されたかを追跡したと思います。私の場合、録音を開始しようとしたときにプレビュー表示がリセットされていました。コードをクリーンアップして解決し、呼び出しを使用して、以下のSurfaceView実装でプレビュー表示を設定、開始、停止しました(Androidカメラ開発者ガイドから)。

public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder mHolder;
private Camera mCamera;

public CameraPreview(Context context, Camera camera) {
    super(context);
    mCamera = camera;

    // Install a SurfaceHolder.Callback so we get notified when the
    // underlying surface is created and destroyed.
    mHolder = getHolder();
    mHolder.addCallback(this);
    // deprecated setting, but required on Android versions prior to 3.0
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}

public void surfaceCreated(SurfaceHolder holder) {
    // The Surface has been created, now tell the camera where to draw the preview.
    try {
        mCamera.setPreviewDisplay(holder);
        mCamera.startPreview();
    } catch (IOException e) {
        Log.d(TAG, "Error setting camera preview: " + e.getMessage());
    }
}

public void surfaceDestroyed(SurfaceHolder holder) {
    // empty. Take care of releasing the Camera preview in your activity.
}

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
    // If your preview can change or rotate, take care of those events here.
    // Make sure to stop the preview before resizing or reformatting it.

    if (mHolder.getSurface() == null){
      // preview surface does not exist
      return;
    }

    // stop preview before making changes
    try {
        mCamera.stopPreview();
    } catch (Exception e){
      // ignore: tried to stop a non-existent preview
    }

    // set preview size and make any resize, rotate or
    // reformatting changes here

    // start preview with new settings
    try {
        mCamera.setPreviewDisplay(mHolder);
        mCamera.startPreview();

    } catch (Exception e){
        Log.d(TAG, "Error starting camera preview: " + e.getMessage());
    }
}
}
于 2013-03-21T21:02:49.037 に答える
3

今後の参考のために、ここに投稿を追加しようと思いました。この問題は長い間私を悩ませました。解像度セットは getSupportedPictureSize メソッドから取得されましたが、私の問題は不適切なプレビュー サイズが原因であることが判明しました。

たとえば、次のようにサイズを取得できます。

//first entry in list is 1392x1392 for front facing camera on an S3
List<Camera.Size> supportedPictureSizes = params.getSupportedPictureSizes();

この解像度を設定したり、画像サイズの設定を怠ったりすると、恐ろしいエラー 1001 が発生します。

他のデバイスでこれが発生した場合は、別の画像サイズを試すことをお勧めします。

于 2014-09-27T03:20:19.093 に答える