当前位置: 首页 > news >正文

潍坊建设公司网站公司网站制作工作室

潍坊建设公司网站,公司网站制作工作室,济南企业上云网站建设,青岛网站建设方案书最近在做webRtc相关音视频项目&#xff0c;碰到了很多用户不知道自己设备是否被支持发起webRtc&#xff0c;所以特意总结相关实用方法&#xff1b; HTML /*id方便一会把媒体流赋值过去, autoPlay: 自动播放 */ <audio id"devDetectionMicroRef" autoPlay><…

最近在做webRtc相关音视频项目,碰到了很多用户不知道自己设备是否被支持发起webRtc,所以特意总结相关实用方法;

HTML
/*id方便一会把媒体流赋值过去, autoPlay: 自动播放 */
<audio id="devDetectionMicroRef" autoPlay></audio>
/*video建议知道宽高, autoPlay: 自动播放 */
<video id="devDetectionVideoRef" autoPlay width="640" height="480"></video>
检测麦克风相关
/* 全局变量 */
const audioSteam = {current: null
}
// 获取音视频轨道流
handleMicrophoneDetection(){navigator.mediaDevices.getUserMedia({audio: true}).then(stream => {audioSteam.current = stream;// 获取当前采集麦克风名称handleStreamGetMicroName();// 处理播放handleAudioPlay();}).catch(error => {let errorMessage = error + '';if (errorMessage.includes('Permission denied')) {errorMessage = '请开启麦克风权限';} else if (errorMessage.includes('Requested device not found')) {errorMessage = '请检测麦克风是否插入';};console.log('error', errorMessage)});
},
// 处理播放
handleAudioPlay(){const stream = audioSteam.current;const elm: HTMLVideoElement | any = document.getElementById('devDetectionMicroRef');if (elm) {elm.srcObject = stream;}
}
// 获取麦克风名
handleStreamGetMicroName(){if (audioSteam.current) {const audioTrack = audioSteam.current.getAudioTracks()[0];console.log(audioTrack.label);}
}
// 停止麦克采集
stopAudioSteam() {if (audioSteam.current) {audioSteam.current.getTracks().forEach((sender: any) => {sender.stop();});}
}
检测摄像头相关
/*全局变量*/
const videoSteam = {current: null
}
// 摄像头检测
handleCameraDetection() {navigator.mediaDevices.getUserMedia({video: true}).then((stream) => {videoSteam.current = stream;// 获取摄像头名称handleStreamGetCameraName();// 播放handleVideoPlay();}).catch((error) => {let errorMessage = error + '';if (errorMessage.includes('Permission denied')) {errorMessage = '请开启摄像头权限';} else if (errorMessage.includes('Requested device not found')) {errorMessage = '请检测摄像头是否插入';};console.log('error', errorMessage);})
}
// 播放
handleVideoPlay() {const stream = videoSteam.current;const elm: HTMLVideoElement | any = document.getElementById('devDetectionVideoRef');if (elm) {elm.srcObject = stream;}
}
// 根据stream获取摄像头名称
handleStreamGetCameraName() {if (videoSteam.current) {const videoTrack = videoSteam.current.getVideoTracks()[0];setGatherCameraName(videoTrack.label);}
}
// 停止摄像头采集
stopVideoSteam() {if (videoSteam.current) {videoSteam.current.getTracks().forEach((sender: any) => {sender.stop();});}
}
获取默认采集设备
handleDefaultDeviceId(type: number) {switch(type) {case 1: // 获取默认音频设备{navigator.mediaDevices.getUserMedia({audio: true}).then((stream) => {const tracks = stream.getTracks();for (let i in tracks) {// 获取音频默认采集设备idlet deviceId = tracks[i].getSettings().deviceId + '';tracks[i].stop();}}).catch((error) => {console.log('error', error);})}break;case 2: // 获取默认视频设备{navigator.mediaDevices.getUserMedia({video: true}).then((stream) => {const tracks = stream.getTracks();for (let i in tracks) {// 获取视频默认采集设备idlet deviceId = tracks[i].getSettings().deviceId + '';tracks[i].stop();}}).catch((error) => {console.log('error', error);})}break;}
},
http://www.yayakq.cn/news/265406/

相关文章:

  • 邯郸市建设局官方网站网站是什么程序做的
  • 请问有重庆有做网站吗建设工程消防监督管理规定网站
  • 泰安哪里做网站岫岩洋河网站建设
  • 服务器类网站建设网站推广软件破解版
  • 南宁网站建设培训学校网页制作课程
  • 永久免费手机网站建设做自媒体用到的网站
  • 高校建设思政教育网站案例wordpress数据查询主题
  • 好看的旅游网站模板下载网站文件上传wordpress修改
  • 云南个旧建设局网站邯郸一堆网络科技
  • 建下载网站server 2012 iis 添加网站
  • 网站建站建设联系电话第一ppt模板网官网
  • amp 网站开发中国兼职设计师网
  • 做商业网站深圳百度推广公司
  • 免费网站建设培训个人推广平台
  • 网站做网络营销泰安建设工程信息网
  • 东莞网站优化平台恒基建设集团网站
  • wordpress code snippetsseo接单一个月能赚多少钱
  • 单页网站搭建学做网站教程视频
  • 网站建设dw 什么软件网站建设所需费用明细
  • 建设一个和聚享游差不多的网站建立网站的方案
  • 怎么做网站的浏览量线下推广渠道
  • 快速网站建设推荐中国最好室内设计公司排名榜
  • 深圳东道建设集团网站城市分类信息网站建设
  • 成都创新互联科技有限公司seo手机优化方法
  • 郑州网站制作哪家便宜企业网站建设要素
  • 医美行业网站建设wordpress导航菜单
  • 网站快速备案安全吗php不用框架怎么做网站
  • 上传wordpress网站张掖艺能网站建设
  • 做特产的网站开张怎么宣传如何加强校园网站建设
  • 电商 网站建设文字陇南网站设计