0

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 を実行している安価なタブレットで動作する場合、これがクラッシュする理由についてのアイデアはありますか?

どんな助けでも大歓迎です、ありがとう!

4

1 に答える 1

0

コメントありがとうございます。理由はわかりませんが、これはGalaxy S3と私がテストした別の小型の安価なタブレットにも当てはまります. 480x320 がすべての Android デバイスで再生するためのベースライン プロファイルであるように思われるため、残念です。

于 2013-10-10T15:52:51.027 に答える