2013-04-16 16 views
6

sto registrando un video in Android come questovideo problema di compatibilità: android video registrato non ha giocato in iphone

List<Camera.Size> list = myCamera.getParameters().getSupportedPictureSizes(); 
      Parameters parameters = myCamera.getParameters(); 
      parameters.setColorEffect(coloreffects.get(index_color_effect)); 
      myCamera.setParameters(parameters); 
      mediaRecorder = new MediaRecorder(); 
      myCamera.unlock(); 
      mediaRecorder.setCamera(myCamera); 
       mediaRecorder.setOrientationHint(90); 
      mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); 
      mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
      mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
      mediaRecorder.setAudioEncoder(AudioEncoder.HE_AAC); 
      mediaRecorder.setVideoEncoder(VideoEncoder.H264); 
      mediaRecorder.setOutputFile(Constants.videourl); 
      mediaRecorder.setMaxDuration(30000); // Set max duration 60 sec. 
      mediaRecorder.setVideoFrameRate(24); 
      mediaRecorder.setVideoFrameRate(30); 
      mediaRecorder.setVideoSize(720, 480); 
      mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder().getSurface()); 

questo video recored e in grado di giocare in ben Android, ma in grado di giocare su iPhone.

se se l'uso di questo codice per la registrazione

  // work two 
     { 
     mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); 
     mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 

     mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 
     mediaRecorder.setOutputFile(videourl); 
     mediaRecorder.setMaxDuration(30000); // Set max duration 60 sec. 
     } 

i risultati di video compatible.with iphone bene. ma registra 30 secondi di video su 47 Mb su Samsung note2.

Qualsiasi aiuto?

+1

Ho ottenuto la soluzione per le dimensioni del video da ridurre. La dimensione del video dipende dal ** videobitrate. ** puoi impostare il bit rate video da mediaRecorder.setVideoEncodingBitRate (150 * 1000); – shailesh

+0

** Il problema di compatibilità ** viene fornito con ** Verizon lg lucid ** e ** htc vivid **. Qualche supposizione o aiuto? I video registrati da questi dispositivi non sono riproducibili su iPhone. – shailesh

risposta

1

L'iPhone supporta video in formato MPEG-4 video, e ad una risoluzione non superiore a 640x480

provare questo mediaRecorder.setVideoSize (640, 480);

MORE INFO: per riprodurre video su iphone

Formato video: MP4, MOV, M4V

Formato video: fino a 640x480

framerate video: fino a 30fps

Video Bitrate: fino a 1,5 Mbps per H.264 o 2,5 Mbps per MPEG-4

Audio: AAC fino a 160 Kbps, 48 ​​kHz