Quando registro video da MediaRecorder, registra sempre in modalità orizzontale, indipendentemente dall'orientamento reale del dispositivo. Come forzare MediaRecorder/Fotocamera utilizzare l'orientamento reale?come cambiare l'orientamento del video in MediaRecorder a ritratto
risposta
fare riferimento a Camera.Parameters.setRotation() per ulteriori informazioni.
C'è un esempio lì e invece di chiamare setRotation (rotazione) tenta di chiamare mediaRecorder.setOrientationHint (rotazione) durante la registrazione di video.
'mediaRecorder.setOrientationHint' cambia solo l'orientamento del video in uscita, non l'orientamento dell'anteprima. – Cat
Inoltre, 'setOrientationHint' funziona solo per i flussi MPEG4. Altri (come MPEG2TS) non implementano questa opzione (viene silenziosamente ignorata). – Lekensteyn
@Cat hai ragione, hai qualche idea su come sistemarlo nell'anteprima? !! –
Date un'occhiata alla documentazione qui
http://developer.android.com/guide/topics/media/camera.html#capture-video
L'insidia più comune con l'questo esempio è il setcamera(). È NECESSARIO IMPOSTARE IMMEDIATAMENTE LA VIDEOCAMERA DOPO AVER FATTO il MediaRecorder altrimenti si otterranno errori.
Camera mCamera = getCameraInstance();
// adjust the camera the way you need
mCamera.setDisplayOrientation(90);
MediaRecorder recorder = new MediaRecorder();
recorder.setCamera(mCamera);
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
recorder.setOutputFile(filePath);
// add any limits
recorder.setMaxDuration(50000); // 50 seconds
recorder.setMaxFileSize(5000000); // Approximately 5 megabytes
Spero che questo aiuti qualcuno. In bocca al lupo!!
questo codice fallirà A MENO che chiami 'mCamera.unlock();' prima di 'recorder.setCamera (mCamera)': http://developer.android.com/reference/android/hardware/Camera.html#unlock() – Cat
Anch'io ho bloccato questo problema. Ho scoperto che è possibile utilizzare la funzione setOrientationHint (API 9). Chiamare questa funzione prima di chiamare MediaRecorder.prepare(). È possibile impostare il grado di orientamento per il video in uscita.
Spero che ti aiuti, buona fortuna!
Aggiungere le seguenti due righe di codice:
Camera.setDisplayOrientation(90); // use for set the orientation of the preview
mRecorder.setOrientationHint(90); // use for set the orientation of output video
prima:
mRecorder.setCamera(mCamera);
esempio completa:
mRecorder = new MediaRecorder();
// Both are required for Portrait Video
mCamera.setDisplayOrientation(90);
mRecorder.setOrientationHint(90);
// Step 1: Unlock and set camera to MediaRecorder
mCamera.unlock();
mRecorder.setCamera(mCamera);
// Step 2: Set sources
mRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
// Step 3: Set a CamcorderProfile (requires API Level 8 or higher)
mRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_480P));
mMediaRecorder = new MediaRecorder();
mServiceCamera.setDisplayOrientation(90);
mMediaRecorder.setOrientationHint(90);
mServiceCamera.unlock();
mMediaRecorder.setCamera(mServiceCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
- 1. Streaming video da MediaRecorder tramite LocalSocket
- 2. MediaRecorder Android in streaming
- 3. MediaRecorder Android setCaptureRate() e velocità di riproduzione video
- 4. Utilizzando MediaRecorder Android
- 5. Problema con Android MediaRecorder setVideoSize()
- 6. Solo attività ritratto o ritratto retrospettivo
- 7. mediacodec vs mediaplayer e mediarecorder
- 8. MediaRecorder start codici di errore
- 9. Mediaelement.js: come posso cambiare l'immagine del poster?
- 10. MediaRecorder registrazione solo in 15 FPS
- 11. Android: Come inizializzare MediaRecorder senza una superficie valida per l'anteprima video?
- 12. Android: MediaRecorder @ Native code
- 13. MediaRecorder modifica le dimensioni senza provocazione
- 14. in streaming un file MediaRecorder durante la registrazione
- 15. android - MediaRecorder lancia illegittimaescrizione
- 16. Android MediaRecorder e setOutputFile
- 17. MediaRecorder e UDP (DatagramSocket) in Android
- 18. Come registrare video in streaming?
- 19. Forza la modalità ritratto nella fotocamera
- 20. Come ottenere le dimensioni del file della registrazione video dal vivo in Android?
- 21. Riproduzione a ciclo continuo del video in caricamento in HTML5
- 22. Come abilitare solo il ritratto e il ritratto inverso nei telefoni, "sensorPortrait" non funziona sui telefoni?
- 23. Android MediaRecorder - "start failed: -19"
- 24. come cambiare l'immagine del pollice del cursore?
- 25. Rilevare i capelli in un'immagine ritratto?
- 26. Come modificare l'orientamento del video per AVCaptureVideoDataOutput
- 27. Come sapere se un MediaRecorder è in esecuzione o no?
- 28. IOS6 landscape riproduce video di youtube incorporati da un uiwebview all'interno di un solo app per iPhone ritratto
- 29. Come cambiare il colore del menu a discesa Bootstrap aperto?
- 30. iOS ritratto app ritorna da UIWebView youtube nel paesaggio
che dire insieme 'android: screenOrientation =" paesaggio "' della tua CameraActivity nel manifest – IgniteCoders