问题标签 [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.
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 一起使用?
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 没有显示麦克风,而相机却显示了。
javascript - 当页面由 WampServer 提供时,navigator.mediaDevices 未定义
在 Firefox 70.0.1 上,当我打开由 WampServer 3.1.9 提供的页面并进行测试navigator.mediaDevices
时,我得到undefined
.
file:///
如果我通过其URL打开同一页面,则它navigator.mediaDevices
是一个有效对象。
访问页面的方式如何影响navigator
对象?
我只是提到我在 WampServer 上创建了一个新的虚拟主机来托管页面。
javascript - 如何检查访问麦克风的权限是否已被 FireFox 中的用户拒绝
有没有办法查明用户是否拒绝或允许 Firefox 中的媒体设备(例如:麦克风、相机)?在 Chrome 中,我可以使用 navigator.permissions.query 进行检查,但在 Firefox 中失败并显示“TypeError”。
由于某种原因,我无法使用 try catch 块捕获上述错误。所以我想知道为什么我不能在 try catch 块中捕捉到这个错误,以及是否有替代方法。
用例
我的应用程序具有语音识别功能。在用户遇到寻求访问麦克风的实际“系统对话框”之前,我需要显示“预许可弹出窗口”。这个“预许可弹出”背后的想法是为用户提供应用程序需要访问权限的上下文。如果用户已经授予/拒绝访问权限,则不需要弹出预许可。所以我需要检查麦克风的权限状态并在需要时显示弹出窗口。
javascript - 请求没有音频/视频捕获的完整 MediaDeviceInfo
我正在使用 MediaDevices API 来获取音频输出设备的列表:
这有效,但label
为空白。
我知道如果我getUserMedia()
用来请求音频或视频流,我可以重新枚举设备并获取它们的标签。有没有办法获得查看设备的权限 getUserMedia()
?我想设置音频输出的接收器 ID,没有理由使用捕获设备。
ionic-framework - IOS上的MediaDevices.getUserMedia(),离子的android本机应用程序?
到目前为止,我已经voicecalling/videocalling/screensharing
为浏览器制作了应用程序,并且为移动用户webRTC/node.js/socket.io
制作了PWA 应用程序ionic
。
然后,我可以video
在MediaDevices.getUserMedia()
基本但browser app and pwa
无法上IOS
,由.ionic
也许,我想这是因为MediaDevices
is webAPI
,并且ionic
不应该为此翻译。但我不确定,我对此知之甚少。
有人知道有可能的方法吗?或者根本不可能使用ionic?
非常感谢
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 的变化,我不确定这个问题的解决方案是什么。
javascript - 如何停止所有媒体流
有什么方法可以关闭所有媒体流?
我正在使用一个名为 wavesurfer 的包进行反应,我无法使用包的给定方法停止麦克风。所以我想知道是否有什么可以尽可能轻松地切断所有音频/视频设备?
就像是
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:
angularjs - TypeError:无法读取未定义的属性“getSupportedConstraints”(在主机上作为 IP 地址服务时)
当我在本地主机上运行我的 angularjs 应用程序时,我遇到了一个有线问题,它工作正常。但是当我将它托管在 IP 地址上时,它会出错
TypeError:无法读取未定义的属性“getSupportedConstraints”
这是我的代码
当在 localhost navigator.mediaDevices 对象上服务时,我得到http://prntscr.com/qpf32s 但是当主机在 IP 地址上时,它给出了 undefind