Khi tôi quay video bằng MediaRecorder, nó luôn ghi lại ở chế độ ngang, bất kể định hướng thiết bị thực. Làm cách nào để buộc MediaRecorder/Camera sử dụng định hướng thực?cách thay đổi hướng video trong MediaRecorder thành chân dung
Trả lời
tham khảo Camera.Parameters.setRotation() để biết thêm thông tin.
Có một ví dụ ở đó và thay vì gọi setRotation (rotation), hãy thử gọi phương thức mediaRecorder.setOrientationHint (quay) khi quay video.
'mediaRecorder.setOrientationHint' chỉ thay đổi hướng của video đầu ra, không thay đổi hướng của bản xem trước. – Cat
Ngoài ra, 'setOrientationHint' chỉ hoạt động đối với các luồng MPEG4. Những người khác (như MPEG2TS) không thực hiện tùy chọn này (nó bị bỏ qua âm thầm). – Lekensteyn
@ Bạn có đúng không, bất kỳ ý tưởng nào về cách khắc phục điều đó trên bản xem trước? !! –
Hãy xem tài liệu ở đây
http://developer.android.com/guide/topics/media/camera.html#capture-video
Các cạm bẫy phổ biến nhất với các ví dụ này là setCamera(). BẠN PHẢI THIẾT LẬP MÁY ẢNH NGAY LẬP TỨC SAU KHI THỰC HIỆN MediaRecorder nếu không bạn sẽ gặp lỗi.
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
Tôi hy vọng điều này sẽ giúp ai đó. Chúc may mắn!!
mã này sẽ không thành công UNLESS bạn gọi 'mCamera.unlock();' trước 'ghi.setCamera (mCamera)': http://developer.android.com/reference/android/hardware/Camera.html#unlock() – Cat
Tôi cũng đã gặp vấn đề này trước đây. Tôi thấy rằng bạn có thể sử dụng hàm setOrientationHint (API 9). Gọi hàm này trước khi bạn gọi phương thức MediaRecorder.prepare(). Bạn có thể thiết lập mức độ định hướng cho video đầu ra của bạn.
Hy vọng nó sẽ giúp, chúc bạn may mắn!
Thêm hai dòng mã sau đây:
Camera.setDisplayOrientation(90); // use for set the orientation of the preview
mRecorder.setOrientationHint(90); // use for set the orientation of output video
trước:
mRecorder.setCamera(mCamera);
Full dụ:
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. Android chân dung video định hướng sai trong VideoView
- 2. MediaRecorder quay video ở chế độ dọc
- 3. Cách thay đổi hướng video cho AVCaptureVideoDataOutput
- 4. cách thay đổi máy ảnh Android thành chân dung trong surfaceview?
- 5. hướng chân dung máy ảnh android
- 6. Cách phát video ngang bằng MPMovieViewController trong ứng dụng chỉ có một bức chân dung
- 7. Streaming video từ MediaRecorder qua LocalSocket
- 8. Thay đổi video đang được phát trong video HTML5
- 9. Thay đổi VideoView & Toàn màn hình & Định hướng - Android
- 10. Trong Matlab, cách thay đổi hướng trục?
- 11. Vấn đề thay đổi hướng iPad
- 12. Thay đổi nội dung động trong cửa sổ wpf
- 13. Nội dung tab vẫn hiển thị sau khi thay đổi tab sau khi thay đổi hướng
- 14. Chức năng báo cháy trước khi cửa sổ thay đổi kích thước nội dung về thay đổi hướng?
- 15. Sử dụng android MediaRecorder
- 16. Thử nghiệm/mô phỏng thay đổi định hướng trong Chrome?
- 17. iOS chân dung chỉ trả lại ứng dụng từ UIWebView youtube trong cảnh quan
- 18. Video đã quay sai hướng
- 19. Làm thế nào để có Hoạt động tiếp tục streaming video khi định hướng được thay đổi
- 20. Chuyển đổi video thành JPEG Sprite
- 21. Cách thay đổi nguồn trong video html5 với jQuery
- 22. Thay đổi hướng trong Honeycomb
- 23. Dừng mediarecorder Android không thành công
- 24. UIDeviceOrientationFaceUp - cách phân biệt giữa chân dung và phong cảnh?
- 25. phát tệp MediaRecorder trong khi đang ghi
- 26. Duy trì vị trí cuộn nội dung WebView trên thay đổi hướng
- 27. Làm cách nào để vô hiệu hóa nội dung của MobileSafari trong việc thay đổi định hướng?
- 28. Làm cách nào để thay đổi hướng cuộn trong UICollectionView?
- 29. Thay đổi Chiều cao UITableViewCell về Thay đổi Định hướng
- 30. Android, thay đổi gạch chân Màu từ một EditText động
gì về bộ 'android: screenOrientation = "cảnh quan "' của CameraActivity của bạn trong tệp kê khai – IgniteCoders