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);
  });
}    
相关推荐
程序员码歌2 分钟前
OpenSpec 到 Superpowers:AI 编码从说清到做对
android·前端·人工智能
爱编程的小新☆3 分钟前
LangGraph4j工作流框架
前端·数据库·ai·langchain·langgraph4j
@PHARAOH19 分钟前
HOW - 构建一个轻量前后端一体服务
前端·微服务·服务端
音视频牛哥19 分钟前
大牛直播SDK(SmartMediaKit)Windows平台RTSP/RTMP直播播放SDK集成说明(C++版)
windows·音视频·实时音视频·windows rtsp播放器·windows rtmp播放器·超低延迟rtsp播放器·超低延迟rtmp播放器
无限进步_30 分钟前
【C++】C++11的类功能增强与STL变化
java·前端·数据结构·c++·后端·算法
一只小小Java31 分钟前
Echarts单表多图实现
前端·javascript·echarts
跟着珅聪学java32 分钟前
Element UI 的 Tabs 标签页开发教程
javascript·vue.js·elementui
dunky40 分钟前
Spring AI 深度解析:把 LLM 抽象成 Spring Bean 的底层逻辑
前端
星栈41 分钟前
Rust WASM 文件上传全链路:从浏览器到 S3,一个字节都不能少
前端·前端框架·开源
濮水大叔41 分钟前
告别 Django Admin!这个 NodeJS 全栈框架让你在 DTO 中直接配置 Table/Form 渲染
前端·typescript·node.js