cdk
2025-06-16 d27cd18610ef82671bc57151e86158d16877b5a3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!DOCTYPE html>
<html><head>
    <title>HTML5 code Reader</title>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
</head> 
    <script type="text/javascript" src="../../lib/jquery/js/jquery.min.js"></script>
 
<script src="../../js/deQrcode.js"></script>
<script>
    var ctx,video,canvas;
    $(function(){
        getMedia();
    });
function getMedia(){
    var config = {
        video: {width:500,height:500},
        audio: false
    }
    video = document.getElementById("video");
    var promise = navigator.mediaDevices.getUserMedia(config);
    
    canvas = document.getElementById("canvas");
    ctx = canvas.getContext("2d");
    promise.then(function(stream){
        if(stream.active){
            video.srcObject = stream;
            video.play();
        }else{
            getMedia();
        }
        
    });
    
    qrcode.callback = function(e){
        //结果回调
        console.log(e)
    }
}
function takePhoto(){
    ctx.drawImage(video,0,0,500,500)
    qrcode.decode(canvas.toDataURL('image/png'));    
}
 
 //将视频流放到画布
   function captureToCanvas() {
      if(gUM)
      {
         try{
            gCtx.drawImage(v,0,0);
            try{
               qrcode.decode();
            }
            catch(e){
               console.log(e);
               setTimeout(captureToCanvas, 500);
            };
         }
         catch(e){
            console.log(e);
            setTimeout(captureToCanvas, 500);
         };
      }
   }
 
</script>
<body>
      <video id="video" width="500" height="500" autoplay></video>       
      <canvas  id="canvas" width="500" height="500"></canvas> <br/>
    <button onclick="takePhoto()">开始扫描</button>  
</body>
 
</html>