HTML 5呼び出しカメラインスタンス
HTMLレイアウト:
このレイアウトは比較的粗末で、ビデオタグは主にカメラの画面をリアルタイムで表示するためのもので、canvasは写真をクリックして表示するある瞬間の画面です
js実装:
注意事項:異なるブラウザで正しく開く方法
1.Googleブラウザの下で直接ファイルを開く絶対アドレスは呼び出しカメラを実現できません.apacheサーバーファイルに置くと開きます(windowsの下でwampserverをインストールします)?
2.火狐ブラウザは直接開くこともapacheの下で開くこともできます
3.win 10のedgeブラウザは、直接開いてもapacheでもカメラを呼び出すことができず、フラッシュバックする場合があります
4.最后のサプライズの発见chromeとfirefoxの得たピクチャーはすべて逆です!!!
このレイアウトは比較的粗末で、ビデオタグは主にカメラの画面をリアルタイムで表示するためのもので、canvasは写真をクリックして表示するある瞬間の画面です
<body>
<video id="video" width="640" height="480" autoplay></video><br>
<button id="snap" > </button> <br>
<canvas id="canvas" width="640" height="480"></canvas>
</body>
js実装:
<script type="text/javascript">
// window addEventListener
window.addEventListener("DOMContentLoaded", function() {
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "video": true },
errBack = function(error) {
console.log("Video capture error: ", error.code);
};
//
if(navigator.getUserMedia) { // edge,IE
//alert(" navigator.getUserMedia");
navigator.getUserMedia(videoObj, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // chrome
//alert(" navigator.webkitGetUserMedia");
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
}
else if(navigator.mozGetUserMedia) { // Firefox
//alert(" navigator.mozGetUserMedia");
navigator.mozGetUserMedia(videoObj, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}
//
document.getElementById("snap").addEventListener("click", function() {
context.drawImage(video, 0, 0, 640, 480);
});
}, false);
</script>
注意事項:異なるブラウザで正しく開く方法
1.Googleブラウザの下で直接ファイルを開く絶対アドレスは呼び出しカメラを実現できません.apacheサーバーファイルに置くと開きます(windowsの下でwampserverをインストールします)?
2.火狐ブラウザは直接開くこともapacheの下で開くこともできます
3.win 10のedgeブラウザは、直接開いてもapacheでもカメラを呼び出すことができず、フラッシュバックする場合があります
4.最后のサプライズの発见chromeとfirefoxの得たピクチャーはすべて逆です!!!