2011-11-17 80 views
12

我试图记录使用前置摄像头前的视频,下面是代码片段,我的setVideoFrameRate设置为29的,但所记录的视频中具有7.5和8之间的FPS我需要的VIDIO的视频记录,FPS 29.Android的前置摄像头是7.5和8.0之间录制视频 - setVideoFrameRate不起作用 - 三星Galaxy S2

 recorder.setPreviewDisplay(holder.getSurface()); 
     recorder.setOnInfoListener(this); 
     recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
     recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
     recorder.setVideoFrameRate(29); 
     recorder.setVideoSize(640,480); 
     recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 
     recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); 
     recorder.setOutputFile("/sdcard/recordvideooutput.mp4"); 
     recorder.setMaxDuration(16*1000); 
+1

根据显影剂指南,它被写入实际的帧速率将根据照明条件而变化。如果您的设备具有自动帧速率,此方法也会设置最大帧速率。请检查 – Naved

+0

嗨Naded,谢谢你的答案。你是对的..当有好的光线时,fps更好,它以14-15fps的速度录制。当我将它与本机相机应用进行比较时,在相同的照明条件下,本机相机以29 fps记录,但我的程序以14 fps记录。只是想知道本机相机是如何以更好的fps进行录制的,以及我们是否通过编程获得了相同的效果。再次感谢。 – user566502

+0

你如何基准视频的帧速率?如果您想通过监视预览来执行java代码,请参阅以下内容:http://stackoverflow.com/questions/8676046/why-fps-is-not-same-as-original-camera-app/8685028#8685028 –

回答

0

这段代码是无效的。

recorder.SetOutputFormat() 

这段代码是:

recorder.SetOutFormat() 

从Android开发者网站: “设置要捕获的视频的帧速率setVideoSource()后必须调用setOutFormat后调用此。 ()但在准备()之前。“

相关问题