问题标签 [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 回答
1182 浏览

reactjs - 关闭网络摄像头而不重新加载

我是 Web 开发的初学者,我正在开发一个使用create-react-app. 我正在使用recordRTC库从用户的网络摄像头和麦克风进行录制和流式传输。当我停止录制时,我也想关闭网络摄像头。

我在这里找到了一个相关的帖子,在那里我找到了这个:

这会停止流,但导航器选项卡(chrome)上仍然存在红色圆圈,并且网络摄像头的灯仍然是闪电。

如何关闭网络摄像头?

我发现的唯一方法是强制重新加载,但我真的不想这样做......

如果有人有想法,请告诉我。

感谢您的回复 :)

0 投票
0 回答
778 浏览

firefox - Firefox getUserMedia 为视频约束 480 X 720 抛出 OverconstrainedError

Javascript 在 Firefox 中抛出 OverconstrainedError。

我想获得这些分辨率,或者为 Firefox 桌面版获得类似的纵横比。如果我使用这些约束{video: { width:{ideal:480}, height: {ideal:720, max: 720 }},它会给我高度:720,宽度:960。

我设法在 Chrome 和 Opera 上获得了 480 X 720 的分辨率,但如果我能找到一种使用MediaRecorder以这些分辨率录制视频的方法,那就太好了。

配置:Firefox 版本:57.0.2(64 位),视频设备:罗技 HD Pro Webcam C920

0 投票
0 回答
106 浏览

android - Firefox 不在 Android 上显示媒体设备

我在通过navigator.mediaDevices.enumerateDevices()方法让 Firefox 显示设备时遇到了一些问题。

我在同一问题上阅读了这篇文章:navigator.mediaDevices.enumerateDevices() not display device label on firefox

但是我在 Android 上的 Firefox 遇到了这个确切的问题,即使为 Firefox 授予了相机和麦克风权限。

相同的代码在 Chrome 中运行良好,并显示了 2 个可用的摄像头,而 Firefox 也显示了 2 个选项,但没有标签。

有谁知道可能是什么问题?

0 投票
0 回答
35 浏览

javascript - 如何在 Chrome 扩展中使用 MediaDevices.getUserMedia 请求访问音频流时更改 url 或站点名称

我们有一个 Chrome 扩展程序,它请求访问用户音频流的权限,以允许他们在浏览网络时进行录制。我们面临的问题是弹出请求显示的是用户所在页面的 url,而不是我们的产品 url 或扩展名,这可能会误导用户。

前任。如果我们在 stackoverflow.com 上并且启用了扩展,则访问用户音频流的权限表明 stackoverflow.com 正在请求访问音频流而不是我们的 url

有没有办法控制权限请求中的url或名称?

0 投票
1 回答
5329 浏览

javascript - 使用 navigator.mediaDevices.getUserMedia 时出现 TypeError

我正在尝试用已弃用的替换navigator.getUserMedianavigator.mediaDevices.getUserMedia但在尝试时出现此错误:

TypeError:无法设置未定义的属性“localStream”

这是我的 HTML:

我正在使用 Aurelia 环境,我的 javascript 是这样的:

有人可以想象有什么问题吗?我正在使用 Electron 创建一个应用程序。

我在互联网上看到其他人有类似的问题,所以我打印了流:

当文档准备好时,我也尝试添加一个 EventListener,但我仍然遇到这个问题;如果我将注释部分与已弃用的 navigator.getUserMedia 一起使用,一切正常

0 投票
0 回答
52 浏览

javascript - Edge mediaDevices 无效参数

当我尝试让 mediaDevices 处于边缘时,我遇到了这个奇怪的错误。

在此处输入图像描述

这发生在catch块中。谁能帮我吗?

0 投票
1 回答
1285 浏览

windows - 允许 Windows RDP 用户访问可移动媒体

我正在尝试使用 PowerShell 配置 Windows 10。要在通过 RDP(远程桌面协议)登录时启用对光驱的访问,我使用以下代码:

这不能按预期工作。

Windows 10 1809
使用我的本地管理员帐户通过 RDP 登录

症状:
- 启动时 Opti Drive Control 1.70 消息“未找到驱动器”
- 启动时 Nero DiscSpeed 12.5.6.0 消息“您无权刻录到物理刻录机”
- VirtualBox 6.0.4 选择设备->光驱时出现错误 VERR_ACCESS_DENIED -> 主机驱动器
在本地使用相同帐户登录时,所有这些都可以正常工作。

按照本指南:
https
://docs.microsoft.com/en-us/windows/desktop/imapi/providing-user-permissions-for-media-burning-devices 我尝试设置这两个策略:
- 设备:限制 CD - 仅限本地登录用户的 ROM 访问 = 已禁用
- 设备:允许格式化和弹出可移动媒体 = 管理员和高级用户
(gpedit.msc、计算机配置、Windows 设置、安全设置、本地策略、安全选项)

这些是它背后的注册表项:
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon, AllocateCDRoms = 0
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon, AllocateDASD = 1

症状都没有改变。我还尝试将 RDP 用于 Windows 7 机器,但无济于事。本地登录 我可以访问我的 CD/DVD/BD 刻录机,但我不能远程访问。

如果有人可以帮助我完成这项工作,那就太好了,
Zweikeks

0 投票
0 回答
950 浏览

javascript - 如何在不需要浏览器麦克风权限的情况下从 MediaDevices 获取输出

我有一个页面,我需要使用 JavaScript [或 jQuery] 快速将一些音频发送到扬声器(在课堂上被听到)和一些其他音频到蓝牙设备(给老师的消息)。我只想输出音频。我不需要访问任何输入:不是麦克风、网络摄像头,也不是任何有隐私问题的东西。我只想播放声音并同步到不同的设备。

目前,一切都很好,我可以使用 enumerateDevices 方法获取 MediaDevices [输入和输出] 的列表。这是一个javascript代码示例:

这将检索媒体设备列表,但它需要将浏览器配置为允许访问麦克风。等等:什么?!?!是的,如果您尝试在浏览器上运行上述代码,您可能不会获得设备标签,并且您将无法使用 audioDevices 向它们发送声音,例如,像这样:

我的明显猜测是因为 enumerateDevices 返回 INPUT 和 OUTPUT 设备(嗯,我真的只想要输出设备)。

所以,现在,我的用户必须设置他们的浏览器来授予对他们麦克风的访问权限!一些用户对此感到偏执,这是理所当然的。此外,在某些情况下,用户必须转到“站点设置”才能授予麦克风访问权限,因为即使浏览器配置为“询问”,当用户访问我的页面时,该弹出窗口并不总是“询问”(取决于浏览器和其他巫术)。

所以,这是我的问题:有没有办法只检索输出设备,这样我的用户就不必授予我的页面访问他们的麦克风的权限?谢谢!!

注意:另一个问题:没有 getUserMedia的声音分析非常相似,但在一年多的时间里没有收到一个有意义的答案(一个答案是“到处都是”)。我认为另一个问题更广泛,包含太多细节,使人们从中心问题分心:如何仅选择输出设备

0 投票
0 回答
341 浏览

javascript - 在 Safari 上调用 getUserMedia 会导致麦克风在 mac os safari 版本 11 和 12 上静默一秒钟

我正在使用 getusermedia 录制音频,当我尝试在 safari 11 和 12 上录制第一首歌曲时,会有 1-2 秒的静音,然后音频开始录制。O 其他浏览器音频工作完美,没有延迟。

我试图提高与录音机一起使用的其他东西的性能,但没有运气。

需要立即连接麦克风,并且与其他浏览器类似,在 safari 11 和 12 上录制应该没有延迟。

0 投票
1 回答
888 浏览

safari - 尝试捕获音频但 navigator.mediaDevices.enumerateDevices() 在 Safari 12 上为 NULL,即使已授予麦克风权限

请参阅相关问题:Navigator.mediaDevices.getUserMedia not working on iOS 12 Safari

我们正在尝试从用户输入用户 MediaDevices.getUserMedia 和音频上下文中捕获音频

当用户单击按钮时,我们会检查可用设备,然后捕获他们的音频流

这在 Chrome 和 Firefox 上运行良好,但在 Safari 12 上,我们从枚举设备承诺中得到了Null响应——尽管允许麦克风权限——因此我们无法捕获音频流