八卦阵 发表于 2025-1-11 15:59:01

WebRtc05:设备管理

获取音视频设备

enumerateDevices

基本格式

var ePromise = navigator.mediaDevices.enumerateDevices();
MediaDevicesInfo

属性:
deviceID 设备ID
label 设备的名字
kind 设备的种类
groupID 两个设备groupID相同,阐明是同一个物理设备
Promise

用于处理异步操纵的对象,表示一个异步操纵的终极完成(或失败)及其结果值
https://i-blog.csdnimg.cn/direct/eb5900f19966426a9ca86be196f786e5.png
先处理handle,然后成功则执行resolve,否则执行reject
例子

https://i-blog.csdnimg.cn/direct/003fd04eaee54e8b8ebddee17f6e270b.pngindex.html
<html>
    <head>
      <title> WEBRTC get audio and viedo devices</title>
    </head>
    <body>
      <script src="./js/client.js"></script>
    </body>
</html>
client.js
'use strict'
if (!navigator.mediaDevices
    || !navigator.mediaDevices.enumerateDevices) {
      console.log('enumerateDevices is not supported');
} else {
    navigator.mediaDevices.enumerateDevices()
      .then(gotDevices)
      .catch(handleError);
}
function gotDevices(deviceInfos) {
    deviceInfos.forEach(function(deviceInfos) {
      console.log(deviceInfos.kind + ": label= "
            + deviceInfos.label + ": id= "
            + deviceInfos.deviceId + ": groupId= "
            + deviceInfos.groupId
      );
    });
}
function handleError(err) {
    console.log(err.name + " : " + err.message);
}
实测没有利用https时,navigator.mediaDevices没有收效,直接打印enumerateDevices is not supported,为了利用https,需要备案网站,而备案又会考核很久,所以最好尽快备案

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: WebRtc05:设备管理