提问人:tuple_cat 提问时间:11/10/2023 更新时间:11/10/2023 访问量:26
如何将 macOS 音频工作组与 AudioServerPlugin 配合使用
How to use macOS audio work groups with an AudioServerPlugin
问:
我有一个使用 DriverKit 构建的声卡的 USB 驱动程序和一个 AudioServerPlugin,它使 macOS 能够使用声卡进行音频输入和输出。
AudioServerPlugin 在使用 Apple Silicon 时工作正常,除非使用配备 M1 Max 或 M1 Pro 处理器的电脑时,会听到咔嗒声和爆裂声。我的怀疑是这与线程优先级有关。
驱动程序完成对象,以向 AudioServerPlugin 发出信号,表明 AudioServerPlugin 已准备好使用某些缓冲区。AudioServerPlugin 使用 对对象进行排队。AudioServerPlugin 有一个线程,该线程使用 completed 事件,然后从已完成的缓冲区中读取,然后将音频数据写入可用于 Core Audio 的缓冲区。OSAction
OSAction
IOConnectCallAsyncMethod
我已经阅读了音频工作组。我想知道我是否应该实现与此相关的东西,以及如何做到这一点。
大多数示例都是程序读取或写入设备时。例如,可以使用 查询设备的工作组。
我已将此属性添加到AudioServerPlugin中,但我看不到有人要求它。Core Audio 应该要求它,还是只是用户应用程序要求的属性?kAudioDevicePropertyIOThreadOSWorkgroup
答: 暂无答案
评论
OSAction
kAudioDevicePropertySafetyOffset