2010-11-22 16 views
2

Video kaydını başlatmadan önce fotoğraf makinesini otomatik olarak odaklamaya çalışan bir uygulama oluşturmaya çalışıyorum. Doğrudan MediaRecorder'un kullanılması fotoğraf makinesine otomatik olarak odaklanmaz. Bunun için ben Camera kullanıyorum ve geri çağırma kullanarak ben otomatik odaklama yapabilirsiniz. Ancak bu örneği MediaRecorder ürününe vermek bana çok sorun veriyor. Bütün bunlar bana aşağıdaki hata iletisini veriyorAndroid'de otomatik odaklamanın ardından video kaydı ile ilgili sorun

Camera.Parameters parameters = mCamera.getParameters(); 
    List<Size> sizeList = parameters.getSupportedPreviewSizes(); 
    parameters.setPreviewFormat(ImageFormat.JPEG); 
    parameters 
      .setPreviewSize(sizeList.get(0).width, sizeList.get(0).height); 
    mCamera.setParameters(parameters); 
    mCamera.startPreview(); 

:

11-22 16:51:25.314: DEBUG/Preview(4052): !!!!!!!!!!111Starting recording!!!!!!!!!!!!!! 
11-22 16:51:25.334: ERROR/audio_input(59): unsupported parameter: x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value 
11-22 16:51:25.334: ERROR/audio_input(59): VerifyAndSetParameter failed 
11-22 16:51:25.334: ERROR/CameraInput(59): Unsupported parameter(x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value) 
11-22 16:51:25.334: ERROR/CameraInput(59): VerifiyAndSetParameter failed on parameter #0 
11-22 16:51:25.344: DEBUG/AuthorDriver(59): setParamVideoEncodingBitrate() 256000 
11-22 16:51:25.384: INFO/MediaRecorderJNI(4052): prepare: surface=0x222968 (id=1) 
11-22 16:51:25.394: ERROR/PVOMXEncNode(59): PVMFOMXEncNode-Video_M4V::DoPrepare(): Got Component OMX.qcom.video.encoder.mpeg4 handle 
11-22 16:51:25.394: WARN/CameraInput(59): refCount 0 
11-22 16:51:25.394: ERROR/VENC_ENC(59): VENC_ERROR update_param_port_def::1643 Frame rate is for input port (refer to OMX IL spec) 
11-22 16:51:25.394: ERROR/VENC_ENC(59): VENC_ERROR get_parameter::952 unsupported index 0x700000b 
11-22 16:51:25.394: ERROR/VENC_ENC(59): VENC_ERROR set_parameter::2720 unsupported index 0x700000b 
11-22 16:51:25.394: ERROR/VENC_ENC(59): VENC_ERROR translate_profile::1015 unsupported profile 
11-22 16:51:25.394: ERROR/VENC_ENC(59): Bitrate 256000 
11-22 16:51:25.394: ERROR/VENC_ENC(59): VENC_ERROR get_parameter::952 unsupported index 0x6000005 
11-22 16:51:25.394: ERROR/VENC_ENC(59): VENC_ERROR set_parameter::2720 unsupported index 0x6000005 
11-22 16:51:25.394: ERROR/PVOMXEncNode(59): PVMFOMXEncNode-Audio_AMRNB::DoPrepare(): Got Component OMX.PV.amrencnb handle 
11-22 16:51:25.394: DEBUG/CameraInput(59): Intended mFrameWidth=176, mFrameHeight=144 
11-22 16:51:25.404: DEBUG/CameraInput(59): Actual mFrameWidth=176, mFrameHeight=144 
11-22 16:51:25.404: ERROR/VENC_ENC(59): VENC_ERROR ven_translate_config::428 Invalid mp4 configuration 
11-22 16:51:25.424: INFO/AudioHardwareQSD(59): Routing audio to Speakerphone 
11-22 16:51:25.424: DEBUG/AudioHardwareQSD(59): Switching audio device to 
11-22 16:51:25.424: DEBUG/AudioHardwareQSD(59): Speakerphone 
11-22 16:51:25.454: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.494: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.534: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.554: INFO/AudioHardwareQSD(59): AudioHardware PCM record is going to standby. 
11-22 16:51:25.554: INFO/AudioHardwareQSD(59): Routing audio to Speakerphone 
11-22 16:51:25.564: INFO/AudioHardwareQSD(59): do input routing device 800000 
11-22 16:51:25.564: INFO/AudioHardwareQSD(59): Routing audio to Speakerphone with back mic 
11-22 16:51:25.564: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.574: WARN/AudioFlinger(59): write blocked for 143 msecs, 52 delayed writes, thread 0xd7a8 
11-22 16:51:25.604: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.644: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.684: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.754: DEBUG/AudioHardwareQSD(59): Switching audio device to 
11-22 16:51:25.754: DEBUG/AudioHardwareQSD(59): Speakerphone 
11-22 16:51:25.764: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.814: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.844: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.884: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.924: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:25.964: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:26.004: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:26.044: ERROR/CameraInput(59): Recording is not ready (iPeer 0x3bc14 iState 2 iWriteState 1 iClockState 0), frame dropped 
11-22 16:51:28.824: INFO/AudioHardwareQSD(59): AudioHardware pcm playback is going to standby. 
11-22 16:51:31.324: DEBUG/Preview(4052): !!!!!!!!!!Stoping recording!!!!!!!!!!!!!! 

Bu bir dosya oluşturur aşağıdaki gibi ardından kayıt için kullanan kod im olan

public boolean startRecording() 
{ 
    try 
    { 
     mCamera.unlock(); 

     mediaRecorder = new MediaRecorder(); 
     mediaRecorder.setCamera(mCamera); 

     mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 

     CamcorderProfile profile = CamcorderProfile 
       .get(CamcorderProfile.QUALITY_LOW); 
     mediaRecorder.setProfile(profile); 

     mediaRecorder.setMaxDuration(maxDurationInMs); 

     File file = new File(outputFile); 
     if (file.exists()) 
      file.delete(); 
     file = new File(outputFile); 

     try 
     { 
      file.createNewFile(); 
     } 
     catch (IOException e1) 
     { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
      Log.e("Deepak", "*** first catch ***"); 
     } 


     mediaRecorder.setOutputFile(outputFile); 
     mediaRecorder.setPreviewDisplay(mHolder.getSurface()); 

     mediaRecorder.setMaxFileSize(maxFileSizeInBytes); 

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

     return true; 
    } 
    catch (IllegalStateException e) 
    { 
     Log.e(TAG, e.getMessage()); 
     e.printStackTrace(); 
     return false; 
    } 
    catch (IOException e) 
    { 
     Log.e(TAG, e.getMessage()); 
     e.printStackTrace(); 
     return false; 
    } 
} 

Kamera nitelikler

vardır Tamamen gizlenmiş olan belirli bir yerde, sadece bir grup yeşil yatay çizgi.

Tüm izinler verilmiş. Android'i kullanma 2.2. Hala benzer var this olarak tam kodunu çalıştı ama VENC_ERROR

cevap

12

Sen önce fotoğraf makinesi

mCamera.stopPreview(); 

mCamera.unlock(); 
+0

Teşekkür kilidini açmaya önizleme durdurmak gerekiyor! Bu HTC Desire üzerinde benim için çalıştı ama ne yazık ki Samsung S2 üzerinde değil. – darrenp

+0

Nexus 5'te S3'te olmayan yeşil renkli video sorunumu çözüldü. – dzeikei

+0

Çok teşekkürler! Motorola Defy'de sabit video bozulması sorunu. –