2011-11-17 15 views
12

Ön taraftaki kamerayı kullanarak videoları kaydetmeye çalışıyorum, kod snippet'i izliyorum, setVideoFrameRate'i ayarlıyorum 29 , kaydedilmiş video 7.5 ile 8 arasında fps sahip ama vidio video fps Bu kod parçası geçerli değil 29.Android ön kamera, 7.5 ile 8.0 arasında video kaydı yapıyor - setVideoFrameRate çalışmıyor - Samsung 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

geliştirici kılavuzuna göre, Gerçek kare hızı aydınlatma koşullarına göre değişir yazılıdır var edilmiştir. Ayrıca cihazınız otomatik kare hızına sahipse, bu yöntem maksimum kare hızını ayarlayacaktır. Lütfen cevap için – Naved

+0

hi Naded'i kontrol edin. Haklısınız .. İyi ışık olduğunda fps daha iyidir, 14-15 fps hızında kayıt yapar. Aynı ışık koşullarında yerel kamera uygulamasıyla karşılaştırdığımda, yerel kamera 29 fps hızında kayıt yapıyor ancak programım 14 fps hızında kayıt yapıyor. Yerli kameranın daha iyi fps'de nasıl kaydedildiğini ve programatik olarak aynı olup olmadığını merak ediyoruz. Tekrar teşekkürler. – user566502

+0

Videonun kare hızını nasıl karşılaştırıyorsunuz? Önizlemeyi izleyerek bunu java kodunuzda yapmaya çalışıyorsanız, aşağıdakine bakın: http://stackoverflow.com/questions/8676046/why-fps-is-not-same-as-original-camera-app/8685028 # 8685028 –

cevap

0

kaydedilen gerekir.

recorder.SetOutputFormat() 

Bu kod parçası olduğu:

Android Geliştiricileri Sitesinde
recorder.SetOutFormat() 

: "videonun çerçeve hızı çekilecek ayarlar setVideoSource() sonra çağrılmış olmalıdır setOutFormat sonra bu ara..() önce hazırla(). "

İlgili konular