의견 : 모바일 장치 및 데스크탑 컴퓨터의 클라이언트 API는 처음에는 동기화되지 않았습니다. 처음에는 먼저 모바일 장치에는 항상 몇 가지 기능과 해당 API가 있지만 천천히이 API는 데스크탑 컴퓨터에 나타납니다. Application Interface Technologies 중 하나는 GetUsermedia API로 응용 프로그램 개발자가 사용자의 카메라 또는 내장 카메라에 액세스 할 수 있습니다.
모바일 장치 및 데스크탑 컴퓨터의 클라이언트 API는 처음에는 동기화되지 않았습니다. 처음에는 먼저 모바일 장치에는 항상 몇 가지 기능과 해당 API가 있지만 천천히이 API는 데스크탑 컴퓨터에 나타납니다. Application Interface Technologies 중 하나는 GetUsermedia API로 응용 프로그램 개발자가 사용자의 카메라 또는 내장 카메라에 액세스 할 수 있습니다. 브라우저를 통해 카메라에 액세스하고 스크린 샷을 추출하는 방법을 보여 드리겠습니다.
HTML 코드
다음 코드에 몇 가지 의견을 작성했습니다. 읽어보십시오.
<!-
이상적으로는 장치가 켜져 있는지 먼저 결정해야합니다.
카메라 나 카메라가 있지만 단순화를 위해 직접 여기에 있습니다.
JavaScript를 사용하여 먼저 판단하는 대신 HTML 태그를 작성하십시오.
그런 다음이 태그를 동적으로 생성하십시오
->
<비디오 자동 재생> </video>
<버튼> 스냅 사진 </button>
<canvas> </canvas>
위의 태그를 작성하기 전에 사용자의 클라이언트에 카메라 지원이 있는지 확인해야합니다. 그러나 귀찮지 않기 위해이 HTML 태그는 여기에 직접 작성됩니다. 여기서 사용하는 길이와 너비는 640 × 480입니다.
자바 스크립트 코드
우리는 HTML을 손으로 작성하기 때문에 다음 JS 코드는 생각보다 훨씬 간단합니다.
// 이벤트 리스너를 제자리에 두십시오
Window.AddeventListener ( "domContentLoaded", function () {
// 요소를 잡고 설정 생성 등
var canvas = document.getElementById ( "Canvas"),
context = canvas.getContext ( "2d"),
video = document.getElementByid ( "비디오"),
vidueobj = { "video": true},
errback = function (오류) {
console.log ( "비디오 캡처 오류 :", error.code);
};
// 비디오 청취자를 제자리에 넣습니다
if (navigator.getusermedia) {// 표준
navigator.getusermedia (videoobj, function (stream) {
video.src = stream;
video.play ();
}, errback);
} else if (navigator.webkitgetUsermedia) {// webkit-prefixed
navigator.webkitgetusermedia (videoobj, function (stream) {
video.src = window.webkiturl.createobjecturl (stream);
video.play ();
}, errback);
}
else if (navigator.mozgetusermedia) {// firefox-prefixed
navigator.mozgetUsermedia (VideoObj, function (stream) {
video.src = window.url.createobjecturl (스트림);
video.play ();
}, errback);
}
}, 거짓);
사용자의 브라우저가 getUsermedia를 지원한다고 판단되면 다음은 매우 간단합니다. 해당 비디오 요소의 SRC를 사용자의 카메라 라이브 비디오 연결로 만 설정하면됩니다. 그것이 브라우저로 카메라에 액세스하기 위해해야 할 모든 것입니다!
사진을 찍는 기능은 조금 더 복잡하다고 말할 수 있습니다. 버튼에 모니터를 추가하여 캔버스에 비디오를 그립니다.
// 사진 동작을 트리거합니다
document.getElementById ( "snap")
.addeventListener ( "클릭", function () {
Context.DrawImage (비디오, 0, 0, 640, 480);
});
물론 그림에 필터 효과를 추가 할 수도 있습니다 ...
과거에는 타사 플러그인을 사용하여 브라우저에서 사용자 카메라에 액세스해야했습니다. 이제 사용자의 카메라를 쉽고 빠르게 운영하려면 HTML5 캔버스 기술과 JavaScript 만 필요합니다. 카메라에 액세스하는 것뿐만 아니라 HTML5의 캔버스 기술이 너무 강력하여 사진에 다양한 매혹적인 필터 효과를 추가 할 수 있기 때문입니다. 이제 자신의 카메라를 사용하여 브라우저에서 자신의 사진을 찍으십시오!