0

Androidカメラからビデオをキャプチャしています。ただし、フレームレートを 1 秒あたり 1 フレームに設定したいと思います。

を追加するsetVideoFrameRate(1)と、ビデオを正しく記録できません。この値を設定しないと、記録は正常に機能します。

これは私のコードです...

mediaRecorder = new MediaRecorder();
mediaRecorder.setCamera(camera);                
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

mediaRecorder.setOutputFile(GetOutputMediaFileDir(VIDEO_TYPE,intVideoIndex));
mediaRecorder.setVideoSize(640,480);

mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
//  mediaRecorder.setCaptureRate(1);
mediaRecorder.setVideoFrameRate(1);
mediaRecorder.setMaxDuration(10000);
mediaRecorder.setOnInfoListener(this);
mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());

mediaRecorder.prepare();
mediaRecorder.start();

基本的に、3G ネットワークを使用している電話で送信する必要があるため、ビデオのサイズを小さくする必要があります。最長の動画は 1 分となるため、動画の送信に時間がかかります。

誰かがこの問題を手伝ってくれませんか。

4

2 に答える 2

3

フレーム レート 5 は、多くのデバイスでサポートされています。サポートされているフレーム レートを見つけるには、getSupportedPreviewFpsRange() を使用できます。

これを確認してください:http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getSupportedPreviewFpsRange()

于 2013-06-25T12:04:34.457 に答える
0

1 秒あたり 20 ~ 24 フレームは、ビデオがあらゆる種類の品質を維持するための絶対的な最小値です。1 秒あたり 1 フレームはサポートされていません。また、ビデオに関連付けられたサウンドは正しく同期できません。

于 2012-06-28T19:20:09.737 に答える