使用ext js6调用电脑摄像头实现拍照并且保存录像的例子
时间: 2023-05-28 07:01:45 浏览: 174
调用摄像头拍摄并保存
很遗憾,由于安全性和隐私问题,浏览器不允许JavaScript直接访问摄像头和麦克风,除非用户授予许可。因此,您需要使用WebRTC技术来访问摄像头。以下是一个使用WebRTC和ExtJS 6创建视频聊天的示例代码:
```javascript
Ext.define('MyApp.view.video.VideoWindow', {
extend: 'Ext.window.Window',
requires: [
'Ext.container.Container',
'Ext.layout.container.VBox'
],
width: 640,
height: 480,
layout: 'fit',
maximizable: true,
initComponent: function() {
var me = this;
me.items = {
xtype: 'container',
layout: 'fit',
items: {
xtype: 'video',
autoEl: 'video',
poster: 'resources/images/placeholder.png',
controls: true,
width: '100%',
height: '100%'
}
};
me.callParent(arguments);
me.on('afterrender', me.initWebRTC, me);
},
initWebRTC: function() {
var me = this,
video = me.down('video');
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true })
.then(function(stream) {
video.setSrcObject(stream);
})
.catch(function(err) {
console.log('Unable to get stream', err);
});
} else {
console.log('WebRTC not supported');
}
}
});
```
此代码将创建一个视频窗口,该窗口使用HTML5 `<video>`元素显示摄像头的视频流。initWebRTC方法使用navigator.mediaDevices.getUserMedia方法访问摄像机,如果该方法未定义或遇到错误,则将打印错误消息。使用该模块就能够访问摄像头进行视频聊天功能。
阅读全文