macos - DriverKit 是否适用于自定义 USB 设备来控制麦克风音量(无流)?

标签 macos usb hid driverkit macos-system-extension

我想寻求有关如何在 MacOS 上与自定义 USB HID 设备进行理想通信的指导。

用例 通过外部 USB HID 设备修改麦克风音量。

问题 我可以使用 DriverKit (HIDDriverKit) 来实现此目的吗?或者我需要使用 IOKit?我在这里阅读了一些有关音频限制的内容,但不确定具体不支持什么。

DriverKit doesn’t support USB devices that manipulate audio or that communicate wirelessly over Bluetooth or Wi-Fi. For those types of devices, create a kernel extension using IOKit. — Source

在我的情况下,DriverKit 是否仍然有效,因为我不发送音频流,而仅控制音量?

非常感谢! 干杯, 汤姆

最佳答案

如果我理解正确的话,你甚至不需要使用 DriverKit。 (根据经验:如果可以的话避免它!)

您可以直接从用户空间进程与 HID 兼容设备进行通信。用户空间进程通常还可以控制音频设备的音量。

到目前为止,最简单的选择是使用 IOKit 匹配作为启动条件的启动代理,以便在连接设备时启动。您的代理可以使用 IOHIDManager API 与设备通信,以在按下按钮时接收事件,然后使用常规 Core Audio API 来控制音量。

顺便说一句,它不一定是启动代理:带有 UI 的常规 Cocoa 应用程序也可以完成所有这些操作。 (事实上​​,您可能希望显示某种形式的 UI 作为对按下按钮的用户的反馈。)

关于macos - DriverKit 是否适用于自定义 USB 设备来控制麦克风音量(无流)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67589327/

相关文章:

python - 连接到设备时更改 pySerial 中的波特率?

c++ - USB hid 设备插入/移除检测 winapi

c# - 如果是 Windows 上的 HID 设备,如何获取供应商和产品字符串?

c++ - 从 Wii 平衡板读取数据

windows - 从 Mac OS X 克隆托管在 Windows 共享文件夹上的 git repo

objective-c - 如何在代码中修改从库中拖动的 NSButton?

python - 如何在 Mac 上安装 VirtualBox SDK

c++ - 我可以从哪里开始使用可编程硬件?

c# - 如何使用 C# 从 USB RFID 读取器读取

swift - 检查是否按下了 u 键 Swift Cocoa