MediaRecorder API を介して、Samsung Galaxy Nexus (4.3 を実行 - 最初は 4.2 で試行) から 480x360 h264 ビデオの記録に成功した人はいますか? 640x480 で録画できますが、480x360 に変更するとすぐに、start() が呼び出されると MediaRecorder API がクラッシュし、-19 のエラーが発生します。
これらは私の設定です:
mCamera.unlock();
mMediaRecorder = new MediaRecorder();
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setMaxDuration(300000); //5min
mTempFile = new File(getFilesDir(), AppManager.tempFileName);
mMediaRecorder.setOutputFile(mTempFile.getPath());
mMediaRecorder.setVideoEncodingBitRate(1048576); //1mb/s
mMediaRecorder.setVideoSize(480, 360);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setAudioEncodingBitRate(131072); //128kb/s
mMediaRecorder.setAudioSamplingRate(44100); //Hz/s
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mMediaRecorder.setMaxFileSize(104857600); //100mb
mMediaRecorder.prepare();
mMediaRecorder.start(); //<<<crashes here
たとえば、4.1 を実行している安価なタブレットで動作する場合、これがクラッシュする理由についてのアイデアはありますか?
どんな助けでも大歓迎です、ありがとう!