getUserMedia
index.ejs
getUserMedia()方法有三个参数:
1.约束对象
2.成功回调函数,传入参数:LocalMediaStream
3.失败回调函数,传入参数:error object
<video autoplay></video>
<img src = ''></img>
<canvas style="display:none;"></canvas> <script>
window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.getmozGetUserMedia || navigator.msGetUserMedia; var video = document.querySelector('video');
var canvas = document.querySelector('canvas');
var ctx = canvas.getContext('2d');
var localMediaStream = null;
//
function snapshot(){
if(localMediaStream){
console.log("snapshot");
ctx.drawImage(video,0,0);
//"image/webp" works in Chrome 18. In other browsers, this will fall back to image/png.
document.querySelector('img').src = canvas.toDataURL('image/webp');
}
}
//???????
video.addEventListener('click',snapshot,false);
function fallback(e){
//video.src = 'fallbackvideo.webm';
video.src = '/Users/apple/Movies/faceExpressGit.mov'
}
var onFailSoHard = function(e){
console.log('Reeejected!',e);
}; function success(stream){
video.src = window.URL.createObjectURL(stream);
localMediaStream = stream;
}; if(!navigator.getUserMedia){
fallback(); }else{
navigator.getUserMedia({video:true,audio:true},success,fallback);
} /*function hasGetUserMedia(){
//Note:Opera is unprefixed.
return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.getmozGetUserMedia || navigator.msGetUserMedia);
}*/
//Not showing vendor refixes. /*if(navigator.getUserMedia){
//Good to go
navigator.getUserMedia({video:true,audio:true},
function(localMediaStream){
var video = document.querySelector('video');
video.src = window.URL.createObjectURL(localMediaStream);
//Note: onloadmetadata doesn't fire in Chrome when using it with getUserMedia.
//See crbug.com/110938.
video.onloadedmetadata = function(e){
//Ready to go.Do some stuff.
};
},onFailSoHard); }else{
alert('getUserMedia() is not supported in your browser'); } */
</script>
getUserMedia的更多相关文章
- 使用getUserMedia 调用摄像头
html5中一个有趣的 API,能够调用电脑的摄像头,结合 <video> 标签和 Canvas 就能在浏览器中拍摄照片了. 这里需要注意: 因为安全问题, chrome 对于本地文件禁用 ...
- HTML5 PC、Mobile调用摄像头(navigator.getUserMedia)
废话少说,先贴上代码 html: <div id="main" class="masthead"> <div id="face_sc ...
- WebRTC–getUserMedia & Canvas
下面是一个使用getUserMedia接口和Canvas的drawImage方法实现的截图功能(截取视频中的一帧). 基本思路是这样子的: getUserMedia获取一个MediaStream, s ...
- WebRTC Demo - getUserMedia()
WebRTC介绍 WebRTC提供三类API: MediaStream,即getUserMedia RTCPeerConnection RTCDataChannel getUserMedia已经由Ch ...
- html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia
以前在前人基础上重复造了一个网页录音的轮子,顺带把github仓库使用研究了一下,扔到了github上. 优势在于结构简单,可插拔式的录音格式支持,几乎可以支持任意格式(前提有相应的编码器):默认提供 ...
- getUserMedia API及HTML5 调用摄像头和麦克风
getUserMedia API简介 HTML5的getUserMedia API为用户提供访问硬件设备媒体(摄像头.视频.音频.地理位置等)的接口,基于该接口,开发者可以在不依赖任何浏览器插件的条件 ...
- [转] HTML5利用WebRTC的getUserMedia获取摄像头信息模拟拍照及视频(完整示例)
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- 录制用户的音频,视屏 navigator.mediaDevices.getUserMedia
google 文档 HACKS 文档 相关代码 获取本地的音频 <input type="file" accept="audio/*" capture=& ...
- WebRTC开发基础(WebRTC入门系列1:getUserMedia)
什么是WebRTC WebRTC由IETF(Internet Engineering Task Force——互联网工程任务组)和W3C(World Wide Web Consortium——万维网联 ...
随机推荐
- HtmlAgilityPack下载开启压缩的页面乱码
当一个被采集的网页是开启压缩了的话,如果使用HtmlAgilityPack 的HtmlWeb默认配置去下载,下载回来的HTML代码是乱码,应该进行如下操作 HtmlWeb web = new Html ...
- leetcode 125
125. Valid Palindrome Given a string, determine if it is a palindrome, considering only alphanumeric ...
- Birt 折腾一周总结
BIRT 报表配置 及建立报表的演示 目录 一.配置Birt --------------------------------------------------- 3-- 4 1.下载birt 2. ...
- 第五百八十六天至第六百零五天 how ccan I 坚持
考研中,勿扰... 我是个逗比,哈哈. 时间不够用了呢,哎.
- c#基础-oop(面向对象理解)
OOP-面向对象 封装,继承多态 一个桌子,用面向对象来描述一下它这个桌子项目 定义桌子类 对象:桌子 桌子的属性:名字,材质,体积 桌子的方法;放东西(方法) 现在桌子要放书,放花瓶,放文件(这里就 ...
- oneCMDB
OneCMDB开源地址: http://www.oschina.net/p/onecmdb/, 官方网站:http://www.onecmdb.org/wiki/index.php?title=Mai ...
- 关于yaha中文分词(将中文分词后,结合TfidfVectorizer变成向量)
https://github.com/jannson/yaha # -*- coding: utf-8 -*- """ Created on Wed Aug 10 08: ...
- 26、首先通过javascript包的异步加载来学习echarts包的结构
1.在这里先写一写前言,今天在公司搞定了一个对于滚动条进行定位的case,明天开始做TestManagement. 首先大家先来一起看一看流行的javascript文件的加载方式,这里采用别人博客上的 ...
- http的应用httpurlconnection--------1
http请求后获得所需要的是字符串的时候 URL url=new URL(strurl); try { HttpURLConnection conn=(HttpURLConnection) url.o ...
- 9.springMVC中的拦截器
springMVC中的拦截器大概大致可以分为以下几个步骤去学习: 1.自定义一个类实现HandlerInterceptor接口,这里要了解其中几个方法的作用 2.在springMVC的配置文件中添加拦 ...