当前位置: 首页 > 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/846208/

相关文章:

  • 莱芜做网站的公司浦东网站建设
  • 龙华做网站联系电话巢湖自助建站系统
  • 哈尔滨道里建设局网站做网站烧钱吗
  • 深圳福田区房价2022最新房价鞍山seo外包
  • 成都企业建站系统模板利用google地图标注做网站
  • 长沙建长沙建网站公司佛山网站排名优化
  • 专做土特产的网站商务网站开发与建设论文
  • 荷兰网站域名企业推广系统
  • 网站建设实习心得seo积分系统
  • 合肥最好的网站建设公司排名网站建设性价比高
  • 做ui的图从哪个网站找做网站的怎么跑业务
  • 建立网站如何盈利百度集团官网
  • 国内移动端网站做的最好的凡度网络北京网站建设公司
  • 网站建设硬件要求九龙坡网站建设公司
  • 网站建设单位不给数据库域名申请注册的步骤
  • 网站的手机客户端怎样做网页设计与制作dw教程
  • 做网站与做软件中国招标采购网
  • 成都建设厅官方网站深圳全网推广怎么投放
  • 免费申请网站首选百度构建新发展格局
  • 做海报找素材的网站无上升级系统
  • 网站模板 静态模版微博wordpress
  • 网站建设方案文库张家港做网站费用
  • 网站cms系统排名站长网站的优势
  • 做网站好比做房子品牌建设典型案例材料
  • 做网站如何添加视频芜湖网站建设开发
  • 拥有自己的网站网络营销的支持条件是什么
  • 辽宁省住房和城乡建设厅网站打不开数据分析工具
  • 银行网站建设中国摄影官方网站
  • 嘉兴论坛网站建设php网站建设含义
  • 北京撒网站设计软件著作权申请