问题标签 [enumerate-devices]

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 投票
2 回答
8996 浏览

javascript - 无法获取未定义或空引用的属性“enumerateDevices”

我正在使用enumerateDevices请参阅此处的参考)来获取用户的相机和麦克风列表。

此代码在 Chrome 上运行良好:

但由于它在 IE 上不受支持,因此会引发错误:

无法获取未定义或空引用的属性“enumerateDevices”

我的问题:有没有可以在所有浏览器中使用的替代方法?

0 投票
1 回答
267 浏览

c# - Windows IoT Raspberry Pi 3 C# 枚举 USB 音频适配器

我打算将 2 个或更多 USB 音频适配器(每个都有麦克风和线路)连接到我的树莓派 3。因此我需要分别枚举音频渲染和音频捕获的音频设备,并将它们显示在listbox类似于audioinsample上。我不明白这是怎么回事。我尝试使用下面的代码,发生异常处理程序。请指教。谢谢。

更新:我已经修改了我的 XAML 代码.. 它可以工作.. 但似乎我无法正确安排堆栈面板边距。 从我的 XAML 布局 实际显示的对齐不正确

我在下面有我的代码。有什么建议吗?谢谢。

2017 年 9 月 10 日更新

我不明白我的利润太大了。 它基于我想要的尺寸

0 投票
1 回答
858 浏览

c# - 仅列出“设备和打印机”面板中显示的设备

我正在用 C# 编写一个将在用户 PC 上运行的应用程序,我只想列出 Windows“设备和打印机”控制面板中显示的设备,例如显示器、键盘、鼠标、扬声器等。

我可以使用 WMI 来提取所有设备的列表,但是有没有办法只提取那些显示在控制面板的那部分而不是完整列表中的设备?

我在网上搜索并没有发现任何与此相关的内容,我什至找不到设备出现在该列表中的标准是什么。

是否可以访问该列表中显示的那些设备的列表,或者,如果没有,是否有一个过滤器可以应用于仅显示这些设备的完整列表?

提前致谢

0 投票
0 回答
127 浏览

c++ - 当我尝试枚举 Windows 服务中连接的设备时,GetRawInputDeviceList 返回 0

我正在尝试制作一个连接到 C++ 中服务器的 Windows 服务客户端。服务器不是服务,客户端和服务器都是使用winsock用c ++编写的。目标是枚举客户端服务上连接的设备并将其发送到服务器并在那里打印。我可以在两者之间发送消息并将其打印出来,但是每当我尝试为此执行此操作时,它都不起作用。

我已将其范围缩小到当我尝试获取从中生成的列表的大小时GetRawInputDevices()不返回任何内容 (0)。我假设这是它读取的大小,这是不正确的,因为当我尝试在服务之外执行此操作时,它会打印出 5 或 6 个设备。

我在网上找到了一些东西说这是不可能的,但它们是旧线程,他们并没有真正给出任何理由。我也不明白为什么这是不可能的。

有谁知道这是否可能?如果是这样,有什么建议与仅从非服务客户端枚举列表不同需要做什么?如果不是,是什么让这与众不同?

如果需要,我可以发布代码。

0 投票
0 回答
138 浏览

uwp - DeviceInformation.Pairing 始终为空

我在 Windows UWP 设备驱动程序中遇到蓝牙配对问题。我目前使用的是 Windows 10(Build 10240)计算机,我使用的是 vs2015。我使用(自定义)选择器创建了一个设备观察程序,以获取配对和未配对的蓝牙设备。我得到了范围内的所有蓝牙设备。当我尝试通过配对属性获取设备的 DeviceInformationCustomPairing 时,配对属性始终为空。

0 投票
0 回答
587 浏览

c# - wpd c#在存在多个设备时枚举设备内容

我开发了一个应用程序,它枚举和合并所有连接到系统的驱动器的内容映射。对具有 WPD API Interop.PortableDeviceApiLib.dll 的设备执行相同操作,管理现代设备存在编组限制。

我设法按照https://blogs.msdn.microsoft.com/dimeby8/2006/12/05/enumerating-wpd-devices-in-c/
中引用的技巧 来拆卸和重新组装 Interop.PortableDeviceApiLib。 dll,以便一次管理多个设备,替换

instance void GetDevices([in][out] string& marshal( lpwstr) pPnPDeviceIDs

instance void GetDevices([in][out] string[] marshal( lpwstr[]) pPnPDeviceIDs

但是,对于两个连接的设备,返回数组的第二项总是 null !!!

这是代码片段:

请注意,有两个已经连接的设备(在每个设备上我都回复了 Allow connection: YES),因此 var count 接收到值 2 并且 deviceIds[0] 是可以的,但是 deviceIds[1] 始终为 null !(即使在交换 USB 插槽上的设备之后)。

我在 Windows 10 上使用 Windows Studio Professional 2017 这两个设备分别是 Honor9 和 U 盘或 iPad。在我插入的 project.csproj 文件中: ...

...而不是引用 COM 文件:

因为以前它给了我两个问题:1)每次编译都会覆盖新的 bin/Debug/Interop.PortableDeviceApiLib.dll;2)它给了我一个例外:Impossible to find void PortableDeviceApiLib.IPortableDeviceManager.GetDevices(System.String ByRef, UInt32 ByRef)

有没有人可以解决总是为非第一设备返回的空值?

0 投票
0 回答
69 浏览

c# - 为什么 Windows.Devices 中的接口是内部的?

我正在为我的公司编写一个内部 nuget 包,该包将允许我们套件中的应用程序与特定的蓝牙设备对话以实现某些工作流程。很酷的东西!

但是当我开始这个项目时,我试图借此机会运行 TDD,因为我是从头开始的。没过多久我就意识到了一些对我来说很奇怪的事情:

命名空间中的类Windows.Devices都标记为内部的接口。

这几天我一直在思考这个问题,但我不禁要问以下问题:这是否意味着任何使用 Windows 8/10 蓝牙的人都不会编写任何模拟这些服务的测试?我不得不包装/调整这些类中的每一个,因为它们的构造并非微不足道。然后为包装器/适配器编写一个接口,它基本上只是我应该能够在我的脑海中使用的接口的镜像......

问题:

  • 接口不是要公开的吗?
  • 如果它们不共享与实现相同的可访问性,它们的目的是什么?
  • 是否有人为使用这些库的代码编写单元测试?
  • 我是否遗漏了什么,尽管它们是内部的,但有一种方法可以模拟这些类的接口吗?
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响应——尽管允许麦克风权限——因此我们无法捕获音频流

0 投票
1 回答
242 浏览

javascript - 枚举 mediaDevices 空 javascript

我想选择要使用的相机。我发现存在: enumerateDevices()

https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices

我试过了,但它没有返回任何相机设备。

0 投票
1 回答
836 浏览

safari - safari 13.1 navigator.mediaDevices.enumerateDevices() 仅返回音频设备

我在桌面 Safari 13.1 版本上遇到问题。如果我在网络检查器中打开控制台(使用带有网络摄像头和麦克风的常规 macbook)并在任何类型的网站上执行此命令:

navigator.mediaDevices.enumerateDevices()

第一次它会在 Promise 结果中返回一个视频输入和一个音频输入。第二次它只会返回 2 个音频输入。视频输入消失。

不幸的是,我在检查解决方案上的可用设备时多次调用此方法。

知道为什么会发生这种情况吗?即使我不止一次调用它,我如何才能获得有关设备的准确信息? 在这里查看结果