ie11调用摄像头只能用flash吗?

JavaScript016

ie11调用摄像头只能用flash吗?,第1张

基础语言的JS就可以,就是网页本身就可以。不过用FLASH,是因为打包在FLASH里的代码是无法查杀的,所以可以运行木马或直接调用摄像头不用对方同意就可以观看对方。

关于JS的话,下边是一串H5+JS的摄像头拍照代码。你拷贝代码复制到记事本上,然后把记事本文件后缀的TXT改为HTML,然后再打开看看可以不可以。

<!doctype html>

<html>

<head>

<title>GET VIDEO</title>

<meta charset="utf-8">

</head>

<body>

<input type="button" title="开启摄像头" value="开启摄像头" onclick="getMedia()" />

<video id="video" width="500px" height="500px" autoplay="autoplay"></video>

<canvas id="canvas" width="500px" height="500px"></canvas>

<button id="snap" onclick="takePhoto()">拍照</button>

<script>

function getMedia() {

let constraints = {

video: {width: 500, height: 500},

audio: true

}

//获得video摄像头区域

let video = document.getElementById("video")

//这里介绍新的方法,返回一个 Promise对象

// 这个Promise对象返回成功后的回调函数带一个 MediaStream 对象作为其参数

// then()是Promise对象里的方法

// then()方法是异步执行,当then()前的方法执行完后再执行then()内部的程序

// 避免数据没有获取到

let promise = navigator.mediaDevices.getUserMedia(constraints)

promise.then(function (MediaStream) {

video.srcObject = MediaStream

video.play()

})

}

function takePhoto() {

//获得Canvas对象

let video = document.getElementById("video")

let canvas = document.getElementById("canvas")

let ctx = canvas.getContext('2d')

ctx.drawImage(video, 0, 0, 500, 500)

}

</script>

</body>

</html>

我是用flash cs4 做 当然你也可以在cs3上座 不过一定要actionscript3.0代码。 在第一帧 上写动作脚本如下:

//得到系统的默认摄像头

var carm:Camera=Camera.getCamera()

//创建显示摄像头的容器

//高宽分别为400px 400px

var video:Video=new Video()

video.width=400

video.height=400

// 把视频放进去

video.attachCamera(carm)

//在舞台上显示

addChild(video)