如何通过html5调用手机摄像头?

作者&投稿:野奇 (若有异议请与网页底部的电邮联系)
如何通过html5调用手机摄像头~

1)获取视频流
添加一个HTML5的Video标签,并将从摄像头获得视频作为这个标签的输入来源
var video = document.getElementByIdx_x_x("video");
navigator.getUserMedia({video:true}, function (stream) {
video.src = window.webkitURL.createObjectURL(stream);
}, function (error) { alert(error); });
2)拍照
关于拍照功能,采用HTML5的Canvas实时捕获Video标签的内容,Video元素能作为Canvas图像的输入
function scamera() {
var videoElement = document.getElementByIdx_x_x('video');
var canvasObj = document.getElementByIdx_x_x('canvas1');
var context1 = canvasObj.getContext('2d');
context1.fillStyle = "#ffffff";
context1.fillRect(0, 0, 320, 240);
context1.drawImage(videoElement, 0, 0, 320, 240);
}
3)图片获取
要从Canvas获取图片数据,其核心思路是用canvas的toDataURL将Canvas的数据转换为base64位编码的PNG图像
var imgData=canvas.toDataURL(“image/png”);
imgData格式如下:”data:image/png;base64,xxxxx“
真正图像数据是base64编码逗号之后的部分
转载,仅供参考。

你给的网页用的是 ,在IOS端点击时会提示选择图片或相机,安卓端要看浏览器对这两个属性的优化,部分浏览器会直接跳转到资源管理器,优化做得好的可以直接提示选择相册或相机。
移动设备和桌面电脑上的客户端API起初并不是同步的。最初总是移动设备上先拥有某些功能和相应的API,但慢慢的,这些API会出现在桌面电脑上。其中一个应用接口技术就是getUserMedia API,它能让应用开发者访问用户的摄像头或内置相机。

    HTML5 The Media Capture API提供了对摄像头的可编程访问,用户可以直接用getUserMedia获得摄像头提供的视频流。但实际上用html5调用手机摄像头存在很多问题:
1)谷歌的发布的Chrome到了21版本后,才新增了一个用于高质量视频音频通讯的getUserMedia API,该API允许Web应用程序访问摄像头和麦克风,其他手机浏览器只有opera支持html5调用本地拍照功能
2)两个浏览器均不支持访问多个摄像头:chrome不支持访问后置摄像头,pera支持访问后置摄像头的


android手机,浏览器chrome32版本下实现了浏览器调用设备摄像头进行拍照。主要分3个步骤来完成:
1)获取视频流
添加一个HTML5的Video标签,并将从摄像头获得视频作为这个标签的输入来源

var video = document.getElementByIdx_x_x("video");
 navigator.getUserMedia({video:true}, function (stream) {
                        video.src = window.webkitURL.createObjectURL(stream);
                    }, function (error) { alert(error); });

2)拍照
关于拍照功能,采用HTML5的Canvas实时捕获Video标签的内容,Video元素能作为Canvas图像的输入
        

    function scamera() {
                var videoElement = document.getElementByIdx_x_x('video');
                var canvasObj = document.getElementByIdx_x_x('canvas1');
                var context1 = canvasObj.getContext('2d');
                context1.fillStyle = "#ffffff";
                context1.fillRect(0, 0, 320, 240);
                context1.drawImage(videoElement, 0, 0, 320, 240);
            }
3)图片获取

要从Canvas获取图片数据,其核心思路是用canvas的toDataURL将Canvas的数据转换为base64位编码的PNG图像

var imgData=canvas.toDataURL(“image/png”);

imgData格式如下:”data:image/png;base64,xxxxx“
真正图像数据是base64编码逗号之后的部分



需要加载cordova.js
方法:

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
pictureSource = navigator.camera.PictureSourceType;
destinationType = navigator.camera.DestinationType;
}
//相册
function fromCamera()
{
var source = pictureSource.PHOTOLIBRARY;
navigator.camera.getPicture(function (imageData) {
setimg(imageData);
}, function (message) {
if (source == pictureSource.CAMERA)
alert('加载照相机出错!' + message);
else
alert('加载相册出错!' + message);
}, {
quality: 50,
destinationType: destinationType.FILE_URI,
sourceType: source
});
}
//拍照
function EditImgPz()
{
navigator.camera.getPicture(function (imageData) {
setimg(imageData);
}, function (message) {
alert(message);
}, {
quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.CAMERA,
allowEdit: true,
encodingType: Camera.EncodingType.JPEG,
popoverOptions: CameraPopoverOptions,
saveToPhotoAlbum: true
});
}

1)获取视频流
添加一个HTML5的Video标签,并将从摄像头获得视频作为这个标签的输入来源
var video = document.getElementByIdx_x_x("video");
navigator.getUserMedia({video:true}, function (stream) {
video.src = window.webkitURL.createObjectURL(stream);
}, function (error) { alert(error); });
2)拍照
关于拍照功能,采用HTML5的Canvas实时捕获Video标签的内容,Video元素能作为Canvas图像的输入
function scamera() {
var videoElement = document.getElementByIdx_x_x('video');
var canvasObj = document.getElementByIdx_x_x('canvas1');
var context1 = canvasObj.getContext('2d');
context1.fillStyle = "#ffffff";
context1.fillRect(0, 0, 320, 240);
context1.drawImage(videoElement, 0, 0, 320, 240);
}
3)图片获取
要从Canvas获取图片数据,其核心思路是用canvas的toDataURL将Canvas的数据转换为base64位编码的PNG图像
var imgData=canvas.toDataURL(“image/png”);
imgData格式如下:”data:image/png;base64,xxxxx“
真正图像数据是base64编码逗号之后的部分。


HTML5格式与flash有何区别?有何优势?
1.Flash:YouTube上的FLV影片得通过一个SWF(Shockwave Flash)播放器播放,而这个播放器会呼叫Flash Player Plug-In来播放影片。 \\x0d\\x0a\\x0d\\x0a2.HTML5:YouTube上的M4V影片直接利用标签即可播放,而播放器是以JavaScript写成,一切都以浏览器内建功能完成.\\x0d\\x0a稳定性 \\x0d\\x0a\\x...

成功销售案例分享
我们可以设想,抽奖活动、调研活动、注册行为、编辑行为等,未来都可以借助微信通过HTML5页面实现。 目前,微信海已经为多家企业提供了此项服务,包括网页功能定制以及页面开发运维等。 微信的链接跳转为企业的微信营销打开了窗口,也是营销成败的关键因素。借助更丰富的页面展现、产品介绍甚至用户的互动,实现企业的销售目标亦...

Web前端最全面试宝典- Html篇
XHTML 元素必须被正确地嵌套。XHTML 元素必须被关闭。标签名必须用小写字母。XHTML 文档必须拥有根元素。3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?用于声明文档使用那种规范(html\/Xhtml)一般为 严格 过度 基于框架的html文档 加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5...

前端面试的H5问题有哪些
HTML:没有体现结构语义化的标签,通常都是这样来命名的<div id="header"><\/div>,这样表示网站的头部。HTML5:在语义上却有很大的优势。提供了一些新的标签,比如:<header><article><footer>6、简述一下你对HTML语义化的理解?答案解析:1)用正确的标签做正确的事情;2)html语义化让页面的内容结构化,结构更清晰,...

HTML5最终能取代Flash吗
从长远来看,HTML5会挤占Flash大部分的市场,但Flash主要是在游戏开发方面还是会有一块生存空间。1、功能上:现代浏览器正在迅速地拓展java的应用范围: 原生的视频/音频API,2D绘图有Canvas,3D有WebGL,即时通信有WebSockets,还有Local Storage。正在讨论并有可能会在将来加入标准的API还有Geolocation(地理...

HTML5面试中常会被问到的面试题有哪些?
5. cookies,sessionStorage 和 localStorage 三者有何区别?Cookie是在浏览器和服务器间来回传递的。sessionStorage和localStorage的存储空间比cookies会更大些;而且sessionStorage和localStorage相比cookies有更多的丰富易用的接口;另外,sessionStorage和localStorage都有它们各自独立的存储空间。6.如何实现浏览器内多个...

有关html的参考文献
书籍参考文献《HTML5布局之路》《CSS禅意花园》网络资源参考文献HTML5学堂 W3C mozilla 部分网站截图

websocket简介
另外Html5是指的一系列新的API,或者说新规范,新技术。Http协议本身只有1.0和1.1,而且跟Html本身没有直接关系。。通俗来说,你可以用HTTP协议传输非Html数据,就是这样=。= 再简单来说,层级不一样。 首先,Websocket是一个持久化的协议,相对于HTTP这种非持久的协议来说。简单的举个例子吧,用目前应用比较广泛的PHP生...

页面重构怎么操作
问题三:网页重构师或页面重构师要掌握什么技能 10分 您好,基本的HTML+CSS+Javascript是需要掌握的,基本的photoshop操作是需要会的。然后掌握一些常用的框架,比如jquery,bootstrap等。掌握的技术当然是越多越好,但是还需要一定的深度。加油!满意请采纳! 问题四:请问用HTML5怎么重构一个已有的网站 对于一个已有的网站...

WebMatrix进阶教程(2):教您如何使用WebMatrix创建第一个网页
无论您做何选择,WebMatrix都提供了您的网站运行所需的一切内容,包括Web服务器、数据库和框架。通过在您的开发桌面使用与您将在Web主机上使用的相同堆栈,将网站上线的过程变得既轻松又顺利。您可以从http:\/\/web.ms\/webmatrix下载它。现在您只需花几个小时便可学会使用WebMatrix、CSS、HTML、HTML5、ASP...

横山县13725753170: 如何通过html5调用手机摄像头? -
壬翠愈心: HTML5 The Media Capture API提供了对摄像头的可编程访问,用户可以直接用getUserMedia获得摄像头提供的视频流.但实际上用html5调用手机摄像头存在很多问题:<br>1)谷歌的发布的Chrome到了21版本后,才新增了一个用于高质量视...

横山县13725753170: html5怎样调用手机摄像头或者相册 -
壬翠愈心: html5调用手机摄像头,可以参考如下代码:<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body><video id="video" autoplay=""style='width:640px;height:480px'></video><div><button id='...

横山县13725753170: html5怎么调用手机摄像头并且扫描二维码 -
壬翠愈心: HBulider的话,右上角的开发视角选择边改边看模式,旁边就会出现二维码,记得改web接口

横山县13725753170: 怎么用html5或js调用手机的摄像头拍照上传以及调用 -
壬翠愈心: h5不能直接调用摄像头,只能用上传图片来间接调用摄像头

横山县13725753170: 如何通过html5调用摄像头拍照 -
壬翠愈心: 调用摄像头拍照应该是jqury 的功能 ,你在html中写个按钮 把按钮的时间 function下面调用那个jqury事件就可以

横山县13725753170: html5或者JS怎样调用手机摄像头或者相册 -
壬翠愈心: http://www.html5plus.org/doc/zh_cn/camera.html这是html5官方文档地址,里面有关于h5或js调用摄像头的全部方法

横山县13725753170: html5可以调手机端的摄像头吗? -
壬翠愈心: 首先实现在浏览器中调用手机摄像头,实现拍照功能并且把拍下的照片显示在页面并上传到服务器上,然后再在服务器端进行分析.首先实现在浏览器中调用摄像头,当然用现在火的不行的html5,html5中的<video>标签,并将从摄像头获得视频作为这个标签的输入来源.

横山县13725753170: 用html5怎么在移动端打开相机 -
壬翠愈心: HTML5如何在移动网页端调用手机图片或者camera可以参考这篇文章:如果你开始基于iOS系统(ios6 above) 的web应用,可以考虑这段代码:点击按钮,会调用你的摄像头相册 附源码文件:<input type="file" capture="camera" accept="image/*" id="cameraInput" name="cameraInput">

横山县13725753170: 手机浏览器怎么支持html5拍照 -
壬翠愈心: 最近在做一个公司的保险信息处理系统项目,开发微信端浏览器访问的HTML5的页面,页面中有一个<input id="input" type="file"/>标签,iOS直接就支持吊起相机拍照或是相册选择,但android中不支持吊起相机拍照,只能吊起相册选择,...

横山县13725753170: 在html中怎么实现调用手机相册和手机摄像头功能 -
壬翠愈心: 在手机端调用手机摄像头和相册 <input type="file" capture="camera" accept="image/*" id="cameraInput" name="cameraInput">如果只想调用相册或者选择文件<input type="file" name="file" accept="image/*" >如果想调用摄像头 <input type="file" name="file" capture="camera">

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网