0

Android 2.2では、コードは2.3で正常に動作しますが、MediaRecorder.start()でクラッシュします。ログとコード自体は以下のとおりです。あまり情報がないことがわかるように、ログには「startfailed-2147483648」というメッセージが表示されます。私は何年もの間努力してきましたが、これを理解することはできません、私は何が間違っているのですか?

    mediaRecorder = new MediaRecorder();

    try {
        camera.unlock();

        mediaRecorder.setCamera(camera);

        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
        mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

        mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
    mediaRecorder.setOutputFile(getOutputMediaFile(MEDIA_TYPE_VIDEO).toString());

        mediaRecorder.setPreviewDisplay(cameraPreview.getHolder().getSurface());

        mediaRecorder.prepare();

        mediaRecorder.start(); // thats the line code fails

        fightTimer.start();
    } 
    catch (RuntimeException ex) {
        Toast.makeText(this,"Sorry, camera is currently not available"+ex.toString(), 2000).show();
    } 
    catch (IOException ex) {
        Toast.makeText(this,"Sorry, camera is currently not available"+ex.toString(), 2000).show();
    }

とログ

08-13 06:34:56.914: I/MediaRecorderJNI(2256): prepare: surface=0x2bb230 (identity=13)
08-13 06:34:57.764: E/MediaRecorder(2256): start failed: -2147483648
4

1 に答える 1

0

それは単に悪いエラー コードです。ただし、最初の行prepare: surfaceは、VideoPlayer 境界の構築に関連する何かを示しており、突然例外が発生します。

する必要がありますsetVideoSize()か?

ヒント:「android mediarecorder start failed」を検索します (エラー コードなし - これらのエラー コードは、エラー メッセージ自体と同じくらいランダムなようです!)

編集: Android 2.2 で動作するため、MediaRecorder の API 2.2 と API 2.3 の間の API の変更を確認しましたか?

于 2012-08-13T00:32:47.883 に答える