2016-11-30 33 views
5

Tôi đang thử navigator.MediaDevices.getUserMedia() webrtc để chuyển đổi camera của thiết bị trong khi gọi. Chức năng này hoạt động tốt trên trình duyệt trên máy tính để bàn nhưng trên mozilla android nó không hoạt động. Đây là mã của tôi mà tôi đang sử dụng.chuyển máy ảnh bằng MediaDevices.getUserMedia() trong webrtc

var front=false; 

var myConstraints = { video: { facingMode: (front? "user" : "environment")} }; 
navigator.mediaDevices.getUserMedia(myConstraints).then(function(stream) { 

} 

bất kỳ ý tưởng nào về điều này ??

+0

Thông tin chi tiết về những gì đang xảy ra có thể sẽ hữu ích - bạn có thể cung cấp thêm thông tin không? –

+0

Tôi đã thực hiện một hệ thống gọi điện thoại nó đang làm việc tốt.Bây giờ tôi muốn bao gồm một tính năng để chuyển đổi camera.Chuyển đổi đang làm việc tốt trên trình duyệt firefox máy tính để bàn nhưng nó không hoạt động trong trình duyệt firefox android. Nó cho lỗi "lỗi nội bộ bắt đầu lỗi không thành công". Đây là mã document.getElementById ('flip-nút') onclick = function() {var myConstraints = {video: {facingMode: (mặt trước "người sử dụng": "môi trường").} }; navigator.mediaDevices.getUserMedia (myConstraints) .Sau đó (func tion (stream) {}} – john

+0

Xin chào @ John là bạn có thể giải quyết vấn đề của bạn – zabumba

Trả lời

4

Phần cứng điện thoại thường không cho phép mở cả camera trước và sau cùng một lúc. Thay đổi mã của bạn thành stop() luồng hiện tại trước khi nhận được máy ảnh khác.

Xem my answer to a similar question để biết ví dụ làm việc.

+0

Tôi thực sự đánh giá cao sự giúp đỡ của bạn tôi đang sử dụng stop()?. Tôi đang sử dụng thư viện simplepeer.js với pusher.js làm kênh kết nối ngang hàng Máy ảnh của tôi hiện đang chuyển sang cả thiết bị di động và máy tính để bàn nhưng vẫn có một số vấn đề. Tôi có nên thương lượng lại cuộc gọi không? Ngoài ra, vui lòng xác định sự khác biệt giữa luồng và cửa sổ.stream Đây là mã của tôi trên pastebin Vui lòng xem lại mã số http://pastebin.com/bW0wa9F7 – john

+0

Đó là một câu hỏi khác. Xem http://stackoverflow.com/a/35515536/918910 – jib

+0

cảm ơn, tôi đang làm việc trên liên kết mà bạn đã giới thiệu cho tôi. Bây giờ tôi đang mắc kẹt với vấn đề mà dòng không nhận được ở cuối của người nhận. Tôi đang gửi user_id, user_name, luồng trong một tín hiệu từ người gửi đến người nhận để người nhận có thể thay thế luồng hiện tại của mình bằng luồng mới gửi, user_id và user_name đang nhận nhưng đối tượng luồng trống. Đây là những gì tôi đang làm https: //jsfiddle.net/1so8n164/ – john

1

sử dụng phiên bản cuối cùng của adapter.js và xem liệu NotReadableerror có đang diễn ra hay không, có vẻ như Chrome dành cho Android không thể phát hành phần cứng camera phía trước để chuyển sang phía sau bằng cách sử dụng stream.getVideoTracks() [0] .stop(); Tôi nghĩ rằng đó có thể là lỗi

Các vấn đề liên quan