[前端开发工程师]工作小记——获取网页路由 && 浏览器麦克风权限

获取网页路由

获取网络协议

location.protocol   //打印http: 或者 https:

获取端口号

location.port  //端口号 或 空

//注意:浏览器默认会忽略常用端口,http是80端口,https443端口

获取完整url路径

location.href         //完整url路径 https://mp.csdn.net/mp_blog/creation/editor?spm=1001.2014.3001.4503

获取域名

location.hostname   //mp.csdn.net

获得浏览器麦克风权限

            //麦克风权限获取
            if (!navigator.mediaDevices.getUserMedia) {
                this.micStatus = 'notHttps'
                console.log('micStatus---noHttps-------------');
            }
            navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
                this.micStatus = 'ready'
                stream.getAudioTracks().forEach(track => track.stop())
                console.log('micStatus---ready-------------');
            }).catch(e => {
                console.log('micStatus---error-------------');
                if (e.name === 'NotAllowedError') {
                    this.micStatus = 'notAllow'
                }
                if (e.name === 'NotFoundError') {
                    this.micStatus = 'notFound'
                }
            })

navigator对象

提供当前浏览器及操作系统等信息,navigator对象也是window对象的成员。

Navigator.mediaDevices 属性返回一个MediaDevices对象,MediaDevices 界面提供对连接的媒体输入设备(如相机和麦克风)以及屏幕共享的访问。从本质上讲,它可以让您访问媒体数据的任何硬件源。
该对象提供了5个api: enumerateDevices()、getDisplayMedia()、getSupportedConstraints()、getUserMedia()、selectAudioOutput()

  • enumerateDevices()列举可用的媒体输入和输出设备,例如麦克风、相机、耳机等。返回结果未可用设备信息的数组;
  • getDisplayMedia(opitons) :调用后会提示用户选择并授予权限,以将显示内容或其一部分(例如窗口)捕获为MediaStream(媒体内容流),即共享屏幕内容;

                参数options举例:getDisplayMedia({ video:true, audio:false })

                说明:video:true指内容流包含视频轨道;audio:false指内容流不包含音频轨道

  • getSupportedConstraints(): 方法返回用户代理(即浏览器)支持的约束列表,数据格式为对象字典,键为约束的属性,值都为true(因为返回的都是支持的约束,所有都为true)。
  • getUserMedia(options) :方法询问用户是否允许使用媒体输入,即调用录制视频或者录音等功能,该媒体输入会产生包含所请求媒体类型的轨道,包括视频轨道(由硬件或虚拟视频源产生,例如相机、视频录制设备、屏幕共享服务等)、音频轨道(类似地,由物理或虚拟音频源,如麦克风、A/D 转换器等),可能还有其他音轨类型。

                参数options:getUserMedia({ video:true, audio:false })

                说明:该参数只有video和audio两个属性,即授予录制视频和录音权限。

  • selectAudioOutput() :方法提示用户选择特定的音频输出设备,例如扬声器或耳机。
     

你可能感兴趣的:(javascript,vue.js)