AndroidのMediaRecorderを使用してアプリケーションにビデオ録画機能を追加しようとしていますが、結果のビデオが緑色の線で壊れて見えます(オーディオは問題ありません)。次のコードは、私がMediaRecorderオブジェクトを初期化するために使用するものである:Android MediaRecorderで緑色の線で破損したビデオが生成される
mMediaRecorder = new MediaRecorder();
mCamera.unlock();
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setOutputFile(Utility.CAPTURE_VIDEO_FILENAME);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
mMediaRecorder.setMaxDuration(60000);
mMediaRecorder.setVideoFrameRate(20);
mMediaRecorder.setMaxFileSize(5000000);
mMediaRecorder.setVideoSize(352, 288);
mMediaRecorder.setPreviewDisplay(mPreview.mHolder.getSurface());
mMediaRecorder.prepare();
mMediaRecorder.start();
私はすでに提案hereとhereを見てきましたが、彼らは私の原因を助けていないように見えます。私は、それは間違ったビデオサイズと関係があるかもしれないと思う。だから私の質問はこれは:APIレベル7を使用して互換性のあるビデオサイズを取得する良い方法はありますか? APIレベル8ではCamcorderProfileを使用できますが、7では何も使用できません。
[this](http://stackoverflow.com/questions/4244999/problem-with-video-recording-after-auto-focus-in-android)の最後の回答はそれを行いました。 Camera.unlock()の前にCamera.stopPreview()を呼び出す必要があります。 – jvergeldedios
私は似たような問題を抱えており、100%で修正していません。私は多くの投稿を読んでいて、みんなは言います - バグです。しかし、すべての携帯電話ではありません。また、setVideoSize(320,240)(320,240は電話で働いていましたが、緑色のぼんやりとしたものよりも多く設定されています) - それも修正する必要があります – Peter