Wenn ich Video mit MediaRecorder aufzeichne, zeichnet es immer im Querformat auf, unabhängig von der tatsächlichen Geräteausrichtung. Wie erzwinge MediaRecorder/Kamera die richtige Orientierung?So ändern Sie die Videoausrichtung in MediaRecorder in Hochformat
Antwort
Weitere Informationen finden Sie unter Camera.Parameters.setRotation().
Es gibt dort ein Beispiel und anstatt setRotation (Rotation) aufzurufen, versuchen Sie mediaRecorder.setOrientationHint (Rotation) beim Videoaufzeichnen aufzurufen.
'mediaRecorder.setOrientationHint' ändert nur die Ausrichtung des Ausgabevideos, nicht die Ausrichtung der Vorschau. – Cat
Darüber hinaus funktioniert 'setOrientationHint' nur für MPEG4-Streams. Andere (wie MPEG2TS) implementieren diese Option nicht (sie wird stillschweigend ignoriert). – Lekensteyn
@Cat du hast Recht, irgendeine Idee, wie man das auf der Vorschau beheben kann? !! –
Werfen Sie einen Blick in die Dokumentation hier
http://developer.android.com/guide/topics/media/camera.html#capture-video
Die häufigste pitfall mit diesem Beispiel ist die setCamera(). SIE MÜSSEN DIE KAMERA SOFORT NACH DER HERSTELLUNG DES MEDIA RECORDER EINSTELLEN, sonst werden Fehler angezeigt.
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
Ich hoffe, das hilft jemandem. Viel Glück!!
Dieser Code wird fehlschlagen, wenn Sie 'mCamera.unlock(); vor' recorder.setCamera (mCamera) 'aufrufen: http://developer.android.com/reference/android/hardware/Camera.html#unlock() – Cat
Ich habe mit diesem Problem auch vorher festgefahren. Ich habe festgestellt, dass Sie die Funktion setOrientationHint (API 9) verwenden können. Rufen Sie diese Funktion auf, bevor Sie MediaRecorder.prepare() aufrufen. Sie können den Ausrichtungsgrad für Ihr Ausgangsvideo festlegen.
Hoffe es hilft, viel Glück!
die folgenden zwei Codezeilen hinzufügen:
Camera.setDisplayOrientation(90); // use for set the orientation of the preview
mRecorder.setOrientationHint(90); // use for set the orientation of output video
vor:
mRecorder.setCamera(mCamera);
Voll Beispiel:
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. So ändern Sie die Videoausrichtung für AVCaptureVideoDataOutput
- 2. MediaRecorder Videoaufnahme im Hochformat
- 3. So beheben Sie das Problem mit der Videoausrichtung in iOS
- 4. So ändern Sie die Ausrichtung der Softkeyboard
- 5. So ändern Sie die Gesichtsfarbe in Three.js
- 6. So ändern Sie die Punktgröße in gnuplot
- 7. So ändern Sie die Standardberechtigungen in Androidmanifest.xml
- 8. So ändern Sie die Dateiberechtigung in vi
- 9. So ändern Sie die StandardschriftartFamily in reaktivennativ
- 10. So ändern Sie die Spracheinstellungen in R
- 11. So ändern Sie die Haltepunkteinstellung in Xcode
- 12. So ändern Sie die Ressource in BaseAdapter?
- 13. So deaktivieren Sie den Hochformat-Modus für die Komponenten, wenn das Gerät in Objective C
- 14. So ändern Sie die Bildachsenbeschriftungen
- 15. Wie ändert man die Videoausrichtung des AVPlayers?
- 16. Stellen Sie die Ausrichtung auf Hochformat ein, wenn der Navigationscontroller im Hochformat ist
- 17. So ändern Sie die Geräteausrichtung
- 18. Verfahrensschritte (Wizard) in Hochformat
- 19. So ändern Sie die Schriftgröße in einem Textfeld in HTML
- 20. So ändern Sie die Textfarbe in einem CATextLayer in Swift
- 21. Videoausrichtung ist falsch auf FireFox
- 22. So ändern Sie UISplitViews TableView Width
- 23. So prüfen Sie die Ausrichtung der Geräteausrichtung von Hochformat auf Querformat und Vice-Versa in iPad
- 24. Einheit Leinwandgröße als Hochformat ändern (mobile Größe)
- 25. Wie kann ich die Android-Kamera in der Oberflächenansicht in Hochformat ändern?
- 26. So exportieren Sie Video-Asset über AVAssetExportSession im Hochformat
- 27. So ändern Sie die Hintergrundfarbe von UIViewController
- 28. So ändern Sie die Formulareingabe Tab-Reihenfolge
- 29. So ändern Sie den UIImagePickerController-Crop-Rahmen
- 30. So ändern Sie die Tablayout-Schriftgröße
was Set 'android: screenOrientation =" Landschaft "' deiner CameraActivity im Manifest – IgniteCoders