2012-07-10 4 views
22

Tôi biết câu hỏi này đã được hỏi nhiều lần trước đây. Tôi đã tìm kiếm nó hơn một năm trước nhưng không tìm thấy bất cứ điều gì để đăng câu hỏi này một lần nữa để thu thập nếu có bất kỳ suy nghĩ mới/cách tiếp cận hoặc hack.Sử dụng cả camera trước và sau đồng thời android

Tôi muốn có thể quay video từ cả hai máy ảnh (trước và sau) trong thiết bị Android.

Suy nghĩ duy nhất của tôi là bây giờ là một số cách chuyển đổi giữa mặt trước và sau mỗi 0,1 giây, tuy nhiên tôi chưa bao giờ có thể viết mã này. Bất kỳ sự giúp đỡ từ bất cứ ai về điều này, xin vui lòng.

Một ý tưởng khác là - video thường được chụp ở 15 hoặc 30 khung hình/giây. Giả sử nó ở 30 khung hình mỗi giây. Điều gì sẽ xảy ra nếu có một cách để thay thế các khung hình này sang trước và sau, sau đó chúng tôi có thể có 15 khung hình trên giây và 15 khung hình/giây của video sau. Điều này có thể không? Nếu có thì làm thế nào? Xin đề nghị. Điều gì xảy ra với âm thanh? Có lẽ chúng tôi có thể hạn chế âm thanh chỉ với một trong các bản ghi video (trước hoặc sau).

+0

Bạn có gặp sự cố này không? -> http://stackoverflow.com/questions/7215230 –

+0

Việc chuyển đổi giữa các máy ảnh mất quá nhiều thời gian để hoạt động. Sử dụng đồng thời cả hai máy ảnh là không thể bởi thiết kế của CameraService tại thời điểm –

+0

Tôi sẽ không đi xa đến mức "không thể" - tôi hy vọng rằng trên ít nhất một số thiết bị mà bạn có thể bỏ qua lớp 'Camera' và viết mã gốc để nói chuyện với các trình điều khiển thiết bị. Tất nhiên, đây chỉ là một lựa chọn cho một nhà sản xuất thiết bị sẵn sàng viết mã thiết bị cụ thể. –

Trả lời

5

Bạn không thể sử dụng đồng thời và chuyển đổi giữa mỗi máy ảnh sau mỗi 0,1 giây sẽ không hoạt động tốt. Thu hút và giải phóng đối tượng máy ảnh khá đắt và điều này sẽ không tốt lắm.

+0

Cảm ơn bạn đã phản hồi, nhưng có bất kỳ công việc nào xung quanh .. – axs

+1

Dường như không có. 'Release()'/'open()' lấy 900 đến 1000 msecs * trên mỗi máy ảnh trên Galaxy Nexus, mặc dù các chủ đề khác cho thấy rằng thời gian đó phụ thuộc vào phần cứng. 'unlock()'/'open()' cung cấp cho bạn cùng một ngoại lệ 'chỉ một Camera tại một thời điểm' mà 'release()'/'open()' thực hiện. –

+0

Cảm ơn. Hy vọng có một số cách này có thể được thực hiện đôi khi trong tương lai gần. – axs

6

có thể nhưng cho đến nay, chỉ với Samsung Galaxy S4 sắp tới.

Nó có dual-camera feature nhưng ai biết được nó phụ thuộc phần cứng hay sửa đổi phần mềm của Samsung, ở giai đoạn này.

Dual Camera - See both sides of the story.

Hy vọng rằng nó có thể được chuyển đến điện thoại khác, nếu nó chỉ là phần mềm.

8

Có thể trên HTC m8, OnePlusOne và Motorola Nexus 6, theo như tôi đã thử nghiệm. Nhiều điện thoại hơn có thể hỗ trợ nó, nhưng bạn chỉ cần kiểm tra trên điện thoại và xem ứng dụng có bị treo hay không.

Bạn tạo đối tượng máy ảnh cho mỗi camera hiện có và mỗi đối tượng được đính kèm vào cuộc gọi lại xem trước.

-edit- Cho đến nay tôi đã nhận thấy rằng tính năng này hoạt động trên điện thoại dựa trên Snapdragon 801. Dunno nếu tất cả họ làm điều đó hoặc những gì SOC khác hỗ trợ nó, nhưng đó là những gì tôi đã tìm thấy cho đến nay.

+1

Bạn có một số mã mẫu bằng bất kỳ cơ hội nào không (Github?) Sau khi đã đính kèm cuộc gọi lại, bạn có thể ghi cả hai cùng một lúc? – peoplesparkresident

+4

Xin lỗi, nhưng tôi không nghĩ rằng công việc của tôi sẽ cho phép tôi đăng mã :) Có lẽ tôi sẽ cùng nhau hướng dẫn một lúc, bởi vì tôi đã phải rút rất nhiều điều gần đúng nhưng không thực sự thông tin với nhau và tìm ra cách làm đúng. Đối với ghi cả hai máy ảnh, có bạn có thể, nhưng bạn phải thêm một kiểm tra để xem máy ảnh được gọi là gọi lại. Bây giờ tôi nghĩ về nó, bạn thậm chí có thể cung cấp cho mỗi gọi lại của riêng nó, nhưng điều đó có thể thêm rất nhiều chi phí và do đó có thể không có giá trị nó. – MacD

+1

Cảm ơn bạn. Nếu bạn đặt cùng một hướng dẫn sẽ thực sự hữu ích, hoặc thậm chí là một vài liên kết đến các tài nguyên "gần đúng-nhưng-không-thực sự" bạn đã sử dụng và sau đó là một vài gợi ý, điều đó sẽ được đánh giá cao. – peoplesparkresident