问题标签 [mediadevices]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2366 浏览

ios - iOs 13 上的 Chrome 78 未定义 navigator.mediaDevices

我正在使用运行 iOs 13 的 iPad 第 5 代,当我访问此链接时:https ://webrtc.github.io/samples/src/content/devices/input-output/

  • 使用Chrome 78无法正常工作
  • 使用Safari 13可以正常工作

navigator.mediaDevices似乎在 iOs 13 上使用Chrome 78未定义,但在 Windows 10 上使用Chrome 78定义...

有没有人有同样的问题?有什么替代方法可以让它在 iOs 上与 Chrome 一起使用?

0 投票
1 回答
1564 浏览

javascript - navigator.mediaDevices.enumerateDevices 不会在 iOS Safari (13.2.3) 上返回任何音频输入设备

我正在尝试在 iOS Safari (13.2.3) 上录制音频,但 Safari 不提供对麦克风的访问权限。当我打电话navigator.mediaDevices.enumerateDevices时,它只返回一个MediaDeviceInfo(种类videoinput:)

我在别处读到先打电话navigator.mediaDevices.getUserMedia({audio: true}),但这给出了一个无效的约束错误。getSupportedConstraints不显示音频/视频是有效选项(仅aspectRatio, deviceId, echoCancellation, facingMode, frameRate, groupId, height, sampleRate, sampleSize, volume, width)。

这是 ipod touch 第 7 版,肯定有麦克风;例如。Siri 可以听到我的声音。我不确定为什么 Safari 没有显示麦克风,而相机却显示了。

0 投票
0 回答
120 浏览

javascript - 当页面由 WampServer 提供时,navigator.mediaDevices 未定义

在 Firefox 70.0.1 上,当我打开由 WampServer 3.1.9 提供的页面并进行测试navigator.mediaDevices时,我得到undefined.

file:///如果我通过其URL打开同一页面,则它navigator.mediaDevices是一个有效对象。

访问页面的方式如何影响navigator对象?

我只是提到我在 WampServer 上创建了一个新的虚拟主机来托管页面。

0 投票
1 回答
2582 浏览

javascript - 如何检查访问麦克风的权限是否已被 FireFox 中的用户拒绝

有没有办法查明用户是否拒绝或允许 Firefox 中的媒体设备(例如:麦克风、相机)?在 Chrome 中,我可以使用 navigator.permissions.query 进行检查,但在 Firefox 中失败并显示“TypeError”。

由于某种原因,我无法使用 try catch 块捕获上述错误。所以我想知道为什么我不能在 try catch 块中捕捉到这个错误,以及是否有替代方法。

用例

我的应用程序具有语音识别功能。在用户遇到寻求访问麦克风的实际“系统对话框”之前,我需要显示“预许可弹出窗口”。这个“预许可弹出”背后的想法是为用户提供应用程序需要访问权限的上下文。如果用户已经授予/拒绝访问权限,则不需要弹出预许可。所以我需要检查麦克风的权限状态并在需要时显示弹出窗口。

0 投票
2 回答
172 浏览

javascript - 请求没有音频/视频捕获的完整 MediaDeviceInfo

我正在使用 MediaDevices API 来获取音频输出设备的列表:

这有效,但label为空白。

我知道如果我getUserMedia()用来请求音频或视频流,我可以重新枚举设备并获取它们的标签。有没有办法获得查看设备的权限 getUserMedia()?我想设置音频输出的接收器 ID,没有理由使用捕获设备。

0 投票
0 回答
173 浏览

ionic-framework - IOS上的MediaDevices.getUserMedia(),离子的android本机应用程序?

到目前为止,我已经voicecalling/videocalling/screensharing为浏览器制作了应用程序,并且为移动用户webRTC/node.js/socket.io 制作了PWA 应用程序ionic

然后,我可以videoMediaDevices.getUserMedia()基本browser app and pwa 无法上IOS,由.ionic

也许,我想这是因为MediaDevicesis webAPI,并且ionic不应该为此翻译。但我不确定,我对此知之甚少。

有人知道有可能的方法吗?或者根本不可能使用ionic

非常感谢

0 投票
1 回答
232 浏览

dart - mediaDevices.enumerateDevices() 在浏览器中生成运行时错误

我正在尝试使用 Dart 2.7.0 SDK 通过浏览器中的 Web 应用程序从输入源捕获音频。我希望能够识别系统上可用的音频源,以便用户可以从中进行选择(而不是完全依赖默认源):

上面的代码行编译成功,但无论是否处于调试模式,都会在 Webstorm 2019.3.1 中的 Webdev 提供的 Chrome 79.0.3945.88 中生成错误(注意:MDN 显示相应的 JS 方法调用应该在 Chrome 中工作):

关于这个主题的 Dart 文档基本上不存在,并且考虑到 Dart 和 JS API 的变化,我不确定这个问题的解决方案是什么。

0 投票
1 回答
78 浏览

javascript - 如何停止所有媒体流

有什么方法可以关闭所有媒体流?

我正在使用一个名为 wavesurfer 的包进行反应,我无法使用包的给定方法停止麦克风。所以我想知道是否有什么可以尽可能轻松地切断所有音频/视频设备?

就像是

0 投票
1 回答
443 浏览

javascript - jsQR Javascript 媒体设备未定义

我正在尝试从 git 实现 jsQR javascript 库:jsQR

我正在 Safari 13.0.4 上进行测试,当我运行在他们的网页上找到的演示时,它运行没有问题。

现在,当我从演示的检查器到我的页面实现相同的确切代码(复制和粘贴)时,我收到一条消息TypeError: undefined is not an object (evaluating 'navigator.mediaDevices.getUserMedia'),在某些控制台打印实际未定义的对象后,navigator.mediaDevices这很奇怪,因为他们的演示正在运行,我不认为这是浏览器问题。

此外,我在 Firefox 上运行我的页面,它工作得非常好。

可能是什么问题?

这是我拥有的代码(无论如何它与演示完全相同):

Javascript:

html:

0 投票
2 回答
819 浏览

angularjs - TypeError:无法读取未定义的属性“getSupportedConstraints”(在主机上作为 IP 地址服务时)

当我在本地主机上运行我的 angularjs 应用程序时,我遇到了一个有线问题,它工作正常。但是当我将它托管在 IP 地址上时,它会出错

TypeError:无法读取未定义的属性“getSupportedConstraints”

这是我的代码

当在 localhost navigator.mediaDevices 对象上服务时,我得到http://prntscr.com/qpf32s 但是当主机在 IP 地址上时,它给出了 undefind