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——万维网联 ...
随机推荐
- lua 面向对象
对象的特点是: 对象拥有自己的数据,两个对象即使数据完全相同,他们也是相互独立的: 对象之间可以共享对象的行为,也就是他们的方法是一致的: lua中的table就非常适合作为一个对象,可以在table ...
- Jquery异步上传图片
网页中这样: <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head id=& ...
- python中的装饰器
一.什么是装饰器 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能 ...
- xml 中转意字符&\/使用方法
所有 XML 元素都须有关闭标签 在 HTML,经常会看到没有关闭标签的元素: <p>This is a paragraph <p>This is another paragr ...
- 使用View为Data Source的Form开发要点
(Data Source为View) 要点一:创建View的SQL语法 View的SQL里必须指定Form里唯一一个对其新增.修改.删除的基本表及其主键,其它表为辅助信息表,其字段仅用来在Form里显 ...
- a标签鼠标经过,字颜色和下划线的颜色都变红
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- x265编译
x265 HEVC Encoder Mission Statement Online documentation Mailing list x265-devel@videolan.org HOWTO ...
- ios delegate, block, NSNotification用法
ios中实现callback可以通过两种方法,委托和NSNotification 委托的话是一对一的关系,例如一个UIViewController里有一个tableView, 将该viewContro ...
- bash脚本编程之一 变量、变量类型等
变量的内容 1.变量命名: 1.只能包含字母.数字和下划线,并且不能以数字开头, 2.不应该跟系统中已有的环境变量重名 3.最好能见名知意 2.变量赋值: 设置变量: ...
- Nginx配置文件(nginx.conf)配置详解
Nginx的配置文件nginx.conf配置详解如下: user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目 ...