關於webcsmjs的信息

本文目錄一覽:

如何用js實現調用手機攝像頭掃描條形碼然後帶出條形碼的值到文本框

1、開啟溝子的方法代碼。

2、指定輸入間隔為300毫秒以內時為連續輸入方法代碼。

3、記錄按鍵信息方法代碼。

4、事件的狀態代碼方法。

5、因為條形碼中只有數字和部分符號,所以基本可以不用考慮鍵盤狀態或組合鍵的情況,但二維碼就不能不考慮了。

6、可以使用_keydown.Contains(160)判斷是否按下了Shift鍵,然後使用ShiftChar方法來獲取最終的按鍵對應字符至於結果保存,我使用了一個數組ListListEventMsg,對每次輸入都單獨進行記錄。

jquery webcam 怎麼用

jQueryWebcam這個插件為直接在JavaScript中與攝像頭通信提供了一個透明的訪問層。它通一個SW文件與攝像頭交互,可以顯示Webcam輸出和捕捉圖象。如果有多個攝像頭,它可以顯示可用的攝像頭列表,然後供用戶選擇其中任意一個。

一、jQuery Webcam介紹

jQuery的攝像頭插件是一個透明層,用相機直接在JavaScript中的溝通。

這個插件提供了三種不同的模式,通過一個小的接入網絡攝像頭應用程序接口直接與JavaScript

-或者更準確地說是jQuery。因此,它是可能帶來的圖像在畫布上(回調模式),存儲圖像在服務器(保存模式)和流的Flash元素的實況圖像畫布上(流模式)。

二、jQuery Webcam使用方法

簡單調用

$(“#camera”).webcam({

width: 320,

height: 240,

mode: “callback”,

swffile: “/download/jscam_canvas_only.swf”,

onTick: function() {},

onSave: function() {},

onCapture: function() {},

debug: function() {},

onLoad: function() {}

});

參數說明

windth:flash文件的寬度

height:flash文件的高度

mode:儲存模式:callback, save, stream

swffile:flash文件的地址

拍照

調用webcam.capture();方法實現拍照。

保存照片

webcam.save();方法實現保存照片,簡單調用裡面的onSave參數是保存照片的方法,接收一個函數為照片

var canvas = document.createElement(“canvas”);

canvas.setAttribute(‘width’, 320);

canvas.setAttribute(‘height’, 240);

if (canvas.toDataURL) {

ctx = canvas.getContext(“2d”);

image = ctx.getImageData(0, 0, 320, 240);

saveCB = function(data) {

var col = data.split(“;”);

var img = image;

for(var i = 0; i 320; i++) {

var tmp = parseInt(col[i]);

img.data[pos + 0] = (tmp 16) 0xff;

img.data[pos + 1] = (tmp 8) 0xff;

img.data[pos + 2] = tmp 0xff;

img.data[pos + 3] = 0xff;

pos+= 4;

}

if (pos = 4 * 320 * 240) {

ctx.putImageData(img, 0, 0);

$.post(“/author/uedsc?page=avatar”, {type: “data”, image: canvas.toDataURL(“image/jpeg”)}, function(){

location.reload();

});

pos = 0;

}

};

} else {

saveCB = function(data) {

image.push(data);

pos+= 4 * 320;

if (pos = 4 * 320 * 240) {

$.post(“/author/uedsc?page=avatar”, {type: “data”, image: image.join(‘|’)}, function(){

location.reload();

});

pos = 0;

}

};

}

以上是官方的例子,創建一個canvas來保存圖片,然後上傳到服務端。

如何用js調用本地攝像頭然後錄製成視頻文件保存

可以用html5的video標籤,結合js調用本地攝像頭(具體實現自己百度),可以實現拍照功能但是好像不能錄製成文件保存,可以播放本地視頻。

如何使用jquery webcam 調用攝像頭

jQueryWebcam這個插件為直接在JavaScript中與攝像頭通信提供了一個透明的訪問層。它通一個SW文件與攝像頭交互,可以顯示Webcam輸出和捕捉圖象。如果有多個攝像頭,它可以顯示可用的攝像頭列表,然後供用戶選擇其中任意一個。

一、jQuery Webcam介紹

jQuery的攝像頭插件是一個透明層,用相機直接在JavaScript中的溝通。

這個插件提供了三種不同的模式,通過一個小的接入網絡攝像頭應用程序接口直接與JavaScript

-或者更準確地說是jQuery。因此,它是可能帶來的圖像在畫布上(回調模式),存儲圖像在服務器(保存模式)和流的Flash元素的實況圖像畫布上(流模式)。

二、jQuery Webcam使用方法

簡單調用

$(“#camera”).webcam({

width: 320,

height: 240,

mode: “callback”,

swffile: “/download/jscam_canvas_only.swf”,

onTick: function() {},

onSave: function() {},

onCapture: function() {},

debug: function() {},

onLoad: function() {}

});

參數說明

windth:flash文件的寬度

height:flash文件的高度

mode:儲存模式:callback, save, stream

swffile:flash文件的地址

拍照

調用webcam.capture();方法實現拍照。

保存照片

webcam.save();方法實現保存照片,簡單調用裡面的onSave參數是保存照片的方法,接收一個函數為照片

var canvas = document.createElement(“canvas”);

canvas.setAttribute(‘width’, 320);

canvas.setAttribute(‘height’, 240);

if (canvas.toDataURL) {

ctx = canvas.getContext(“2d”);

image = ctx.getImageData(0, 0, 320, 240);

saveCB = function(data) {

var col = data.split(“;”);

var img = image;

for(var i = 0; i 320; i++) {

var tmp = parseInt(col[i]);

img.data[pos + 0] = (tmp 16) 0xff;

img.data[pos + 1] = (tmp 8) 0xff;

img.data[pos + 2] = tmp 0xff;

img.data[pos + 3] = 0xff;

pos+= 4;

}

if (pos = 4 * 320 * 240) {

ctx.putImageData(img, 0, 0);

$.post(“/author/uedsc?page=avatar”, {type: “data”, image: canvas.toDataURL(“image/jpeg”)}, function(){

location.reload();

});

pos = 0;

}

};

} else {

saveCB = function(data) {

image.push(data);

pos+= 4 * 320;

if (pos = 4 * 320 * 240) {

$.post(“/author/uedsc?page=avatar”, {type: “data”, image: image.join(‘|’)}, function(){

location.reload();

});

pos = 0;

}

};

}

以上是官方的例子,創建一個canvas來保存圖片,然後上傳到服務端。

JS 能不能調用攝像頭並拍照

可以調用,不過適合HTML5,瀏覽器版本也要高點,有些低版本的估計不支持

!DOCTYPE html

html

    head

        meta charset=”utf-8″ /

        title/title

        meta name=”viewport” content=”width=device-width, initial-scale=1″

    /head

    body

        video id=”video” width=”640″ height=”480″ autoplay/video

    /body

    script type=”text/javascript”

        var promisifiedOldGUM = function(constraints) {

            // 第一個拿到getUserMedia,如果存在

            var getUserMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia);

            // 有些瀏覽器只是不實現它-返回一個不被拒絕的承諾與一個錯誤保持一致的接口

            if (!getUserMedia) {

                return Promise.reject(new Error(‘getUserMedia is not implemented in this browser-getUserMedia是不是在這個瀏覽器實現’));

            }

            // 否則,調用包在一個舊navigator.getusermedia承諾

            return new Promise(function(resolve, reject) {

                getUserMedia.call(navigator, constraints, resolve, reject);

            });

        }

        // 舊的瀏覽器可能無法實現mediadevices可言,所以我們設置一個空的對象第一

        if (navigator.mediaDevices === undefined) {

            navigator.mediaDevices = {};

        }

        // 一些瀏覽器部分實現mediadevices。我們不能只指定一個對象

        // 隨着它將覆蓋現有的性能getUserMedia。.

        // 在這裡,我們就要錯過添加getUserMedia財產。.

        if (navigator.mediaDevices.getUserMedia === undefined) {

            navigator.mediaDevices.getUserMedia = promisifiedOldGUM;

        }

        // Prefer camera resolution nearest to 1280×720.

        var constraints = {

            audio: true,

            video: {

                width: 1280,

                height: 720

            }

        };

        navigator.mediaDevices.getUserMedia(constraints)

            .then(function(stream) {

                var video = document.querySelector(‘video’);

                video.src = window.URL.createObjectURL(stream);

                video.onloadedmetadata = function(e) {

                    video.play();

                };

            }).catch(function(err) {

                console.log(err.name + “: ” + err.message);

            });

    /script

/html

能不能通過js代碼打開攝像頭

html5中的video這個標籤是引入視頻的,通過navigator.getUserMedia去獲取攝像頭的視頻流,所以要在事件里用關閉的代碼都不能執行關閉攝像頭,只有關閉網頁,攝像頭才關閉。

以下為html5打開攝像頭代碼:

!DOCTYPE html

html

head

meta content=”text/html; charset=UTF-8″ http-equiv=”content-type”

titleSmart Home – Camera/title

link href=”css/main.css” rel=”stylesheet” type=”text/css”

script src=”js/jq.js”/script

script type=”text/javascript”

/*

*/

function init(t){

accessLocalWebCam(“camera_box”);

}

// Normalizes window.URL

window.URL = window.URL || window.webkitURL || window.msURL || window.oURL;

// Normalizes navigator.getUserMedia

navigator.getUserMedia = navigator.getUserMedia || 

navigator.webkitGetUserMedia|| navigator.mozGetUserMedia || 

navigator.msGetUserMedia;

function isChromiumVersionLower() {

var ua = navigator.userAgent;

var testChromium = ua.match(/AppleWebKit\/.* Chrome\/([\d.]+).* Safari\//);

return (testChromium (parseInt(testChromium[1].split(‘.’)[0]) 19));

}

function successsCallback(stream) {

document.getElementById(‘camera_errbox’).style.display = ‘none’;

document.getElementById(‘camera_box’).src = (window.URL 

window.URL.createObjectURL) ? 

window.URL.createObjectURL(stream) : stream;

}

function errorCallback(err) {

}

function accessLocalWebCam(id) {

try {

// Tries it with spec syntax

navigator.getUserMedia({ video: true }, successsCallback, errorCallback);

} catch (err) {

// Tries it with old spec of string syntax

navigator.getUserMedia(‘video’, successsCallback, errorCallback);

}

}

/script

style type=”text/css”

#camera_errbox{

width:320px; height:auto; border:1px solid #333333; padding:10px;

color:#fff; text-align:left;margin:20px auto;

font-size:14px;

}

#camera_errbox b{

padding-bottom:15px;

}

/style

/head

body onLoad=”init(this)” oncontextmenu=”return false” onselectstart=”return false”

div

div id=”mainbox”

div id=”bt_goback”/div

div/divdiv id=”t_iconbox” 

class=”icon_12″/divdiv id=”t_text”

div id=”el_title”Camera/div

div id=”el_descr”/div

/div

div/div

divspan 

class=”sp_title_text”Camera/spandiv class=”sp_oc 

sp_oc_1″/div/div

dl id=”el_actionbox” style=”text-align:center;”

video id=”camera_box” autoplay=”” src=””/video

div id=”camera_errbox”

b請點擊“允許”按鈕,授權網頁訪問您的攝像頭!/b

div若您並未看到任何授權提示,則表示您的瀏覽器不支持Media Capture或您的機器沒有連接攝像頭設備。/div

/div

/dl

/div

/div

/body

/html

-——代碼結束

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/254560.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 17:42
下一篇 2024-12-14 17:42

相關推薦

  • Java 監控接口返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控接口返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • 使用Python爬蟲獲取電影信息的實現方法

    本文將介紹如何使用Python編寫爬蟲程序,來獲取和處理電影數據。需要了解基本的Python編程語言知識,並使用BeautifulSoup庫和Requests庫進行爬取。 一、準備…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28
  • 如何使用Python執行Shell命令並獲取執行過程信息

    本文將介紹如何使用Python執行Shell命令並獲取執行過程信息。我們將從以下幾個方面進行闡述: 一、執行Shell命令 Python內置的subprocess模塊可以方便地執行…

    編程 2025-04-28
  • Python實現身份信息模擬生成與查驗

    本文將從以下幾個方面對Python實現身份信息模擬生成與查驗進行詳細闡述: 一、身份信息生成 身份信息生成是指通過代碼生成符合身份信息規範的虛假數據。Python中,我們可以使用f…

    編程 2025-04-27
  • Dapper使用getschema獲取表信息

    本文旨在介紹Dapper中使用getschema獲取表信息的方法和注意事項。 一、獲取某張表的所有列信息 使用Dapper獲取某張表信息,可以使用 `IDbConnection.G…

    編程 2025-04-27
  • 通過提交信息搜索-使用git

    本篇文章重點講解如何使用git通過提交信息來搜索。我們將從多個方面介紹如何使用git來搜索提交信息,並提供相應的代碼示例以供參考。 一、搜索方式 Git提供了三種搜索方式,分別為:…

    編程 2025-04-27
  • 已裝備我軍的空中信息化作戰平台

    本文將會從多個方面詳細闡述已裝備我軍的空中信息化作戰平台。 一、平台概述 已裝備我軍的空中信息化作戰平台是一個全新的作戰系統,具備實時數據採集、處理、分析、共享的能力。它可以在不同…

    編程 2025-04-27
  • Linux查看系統信息

    一、CPU信息 Linux系統下,查看CPU的信息最常用的命令是lscpu。該命令可以顯示CPU架構、核心數量、線程數、緩存大小、CPU頻率等信息。例如: lscpu 該命令會輸出…

    編程 2025-04-24
  • 軟考 信息安全工程師

    軟考 信息安全工程師是一項技能型國家級資格認證考試,主要測試考生在信息安全領域的理論知識和實踐技能,是證明個人信息安全能力的重要證書。本文將從多個方面對軟考 信息安全工程師做詳細的…

    編程 2025-04-23

發表回復

登錄後才能評論