브 라 우 저 에서 카메라 장치 목록 을 가 져 오고 장 치 를 선택 하 십시오.
3953 단어 JavaScript
인터넷 의 각종 자 료 를 뒤 져 보 았 지만 방법 을 찾 지 못 했다. 마지막 으로 H5 페이지 가 앞 뒤 카 메 라 를 바 꾸 는 방법 을 참고 하여 다음 과 같이 기록 했다.
1. navigator. getUserMedia 를 통 해 로 컬 카 메 라 를 호출 합 니 다.
2. 호출 성공 후 로 컬 컴퓨터 의 모든 카메라 장치 목록 가 져 오기
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
console.log(devices)
devices.forEach(function(device) {
if(device.kind == 'videoinput'){
videoArr.push({
'label': device.label,
'id': device.deviceId
})
}
});
return videoArr;
})
.catch(function(err) {
layer.msg(err.name + ": " + err.message);
});
return videoArr;
3. 카메라 수량 판단, 만약 > 1. 카메라 목록 드 롭 다운 상 자 를 만들어 사용자 에 게 선택 합 니 다.
if(videoArr.length > 1){
var html = '';
for( var i = 0 ; i ${videoArr[i].label}`
}
videoArr = []
$('#allvideo').html(html)
form.render()
videoIndex =layer.open({
type: 1,
shade: 0.4,
area:['50%'],
title: ' ',
content: $('#videoBox'),
})
}else{
openMedia(constraints)
}
4. 감청 카메라 의 선택.
//
form.on('submit(videoBox)', function(data){
var selectValue = data.field.allvideo
layer.close(videoIndex);
if (typeof currentStream !== 'undefined') {
stopMediaTracks(currentStream);
}
const videoConstraints = {};
if (selectValue === '') {
videoConstraints.facingMode = 'environment';
} else {
videoConstraints.deviceId = { exact: selectValue };
}
var constraints = {
video: videoConstraints,
};
openMedia(constraints)
return false; // 。 , 。
});
openMedia() , 。
function openMedia(constraints){
// ,
getUserMedia(constraints, successMedia, errorMedia);
}
function getUserMedia(constraints, success, error) {
if (navigator.mediaDevices.getUserMedia) {
// API
navigator.mediaDevices.getUserMedia(constraints).then(success).catch(error);
} else if (navigator.webkitGetUserMedia) {
//webkit
navigator.webkitGetUserMedia(constraints,success, error)
} else if (navigator.mozGetUserMedia) {
//firfox
navigator.mozGetUserMedia(constraints, success, error);
} else if (navigator.getUserMedia) {
// API
navigator.getUserMedia(constraints, success, error);
}
}
마지막 성공 은 사람의 얼굴 을 연결 할 때 컴퓨터 에 몇 개의 카메라 장치 가 있 는 지 판단 하고 여러 개가 있 으 면 팝 업 창 은 사용자 에 게 카 메 라 를 선택 하 라 고 알려 주 고 사진 을 찍 는 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.