navigator.mediaDevices.getUserMedia获取本地音频/麦克权限并提示用户

效果

获取权限

NotFoundError

NotAllowedError

代码

javascript 复制代码
// 调用	
captureLocalMedia()

// 方法
function captureLocalMedia() {
  console.warn('Requesting local video & audio');
  navigator.mediaDevices
  .getUserMedia(constraints)
  .then(function (stream) {
    console.warn(stream)
    console.warn('Received local media stream');
    // connect local audio
    // console.warn(stream)
    // localStream = stream;
    // try {
    //   audio.srcObject = null // stream;
    // } catch (error) {
    //   console.warn(error)
    //   audio.src = window.URL.createObjectURL(stream);
    // }
  })
  .catch(function (err) {
    if (err.name === 'NotFoundError') {
     alert('浏览器无法获取音频设备,请检查电脑的麦克风是否可用')
     } else if (err.name === 'NotAllowedError') {
       alert('浏览器未检测到音频设备,请在浏览器设置中打开访问权限,打开后才可正常通话')
     } else {
       alert('未知,请检查设备是否正常')
     }
    console.log(err)
    console.log(err.name + ": " + err.message);
  });
}    
相关推荐
夜郎king2 小时前
湖南高考天气查询:基于 HTML5 与百度天气 API 实现页面展示
前端·html5·百度天气实践·天气信息可视化
云水一下9 小时前
TypeScript 从零基础到精通(五):高级类型与泛型
前端·javascript·typescript
counterxing9 小时前
vibe coding 之后,我更不想打字了
前端·agent·ai编程
云水一下9 小时前
TypeScript 从零基础到精通(六):类型声明与模块化
javascript·typescript
copyer_xyf9 小时前
Python 模块与包的导入导出
前端·后端·python
研☆香9 小时前
es6新特性功能介绍(四)
前端·ecmascript·es6
微扬嘴角10 小时前
React篇1--JSX语法规则、组件、组件实例的3大特性
前端·react.js·前端框架
copyer_xyf10 小时前
Python venv 虚拟环境
前端·后端·python
无聊的老谢10 小时前
Vue 3 + TypeScript 构建大型电信运维平台的前端架构设计
前端·vue.js·typescript
xiaofeichaichai10 小时前
Map / Set / WeakMap / WeakSet
前端·javascript