get-user-media-promise浏览器摄像头封装模块

浏览器的getUserMedia的 Promise 封装,用起来还挺方便的。get-user-media-promise就是这么个小巧的工具,专门老 API 的回调地狱问题,顺手包一下新版的navigator.mediaDevices.getUserMedia

压缩后不到 0.5KB,真挺轻的。你项目里用browserifywebpack这些打包工具的话,它就是个小马填充,不会污染全局。单独引入也行,它会挂到全局上当polyfill用。

它不搞什么跨浏览器兼容的复杂约束,就是一个基础包装。所以你要是搞那种带细致控制的音视频项目,比如精细调节麦克风增益之类的,就不太够用了。但你要是做个视频聊天小工具,或者想快速调起摄像头录段小视频,那用这个刚好。

安装也挺:

npm install --save get-user-media-promise

或者你用 Bower 的话:

bower install --save get-user-media-promise

懒得装包也行,GitHub 上可以直接下载单文件版本。

用法也清爽,比如:

const getUserMedia = require('get-user-media-promise');

getUserMedia({ video: true, audio: true }) .then(stream => { // 拿到 stream 直接用就行,比如赋值给<video> }) .catch(err => { // 用户拒绝授权或者设备不可用 });

如果你常用getUserMedia但又不想每次都写一堆navigator.mediaDevices判断,挺推荐你试试它。要深入了解音视频的高级玩法,可以顺手看看这几篇文章:

zip 文件大小:51.33KB