如何解决检测主机是否访问了 linux usb 小工具音频 uac1
问题:如何从主机设备检测音频 UAC1 小工具何时被使用?
背景:我使用 USB 音频类 1 (UAC1) 创建了一个 USB 音频小工具,以通过 USB 从 Linux 设备向/从 Windows 主机发送/接收音频。小工具已经在工作,Windows 将设备检测为音频输入和输出。我还可以使用 alsa 和 jack 通过小工具发送和接收音频。
详细问题:我正在尝试使用 Jack 连接两个不同的音频设备,以将传入信号从音频设备 1 路由到音频设备 2 的输出。为此,我正在使用 Jack 的虚拟接线。这已经很好了,但是我遇到了一个问题,如果没有主动选择小工具设备作为 DAW 或主机(例如 Windows)上的其他程序中的音频输入和输出,Jack 会收到“轮询超时”错误并且必须重新启动虚拟接线。
$ jackd -r --name default -d alsa --device hw:2 -r 48000 -p 64 -n 2
jackdmp 1.9.17
....
creating alsa driver ... hw:2|hw:2|64|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz,period = 64 frames (1.3 ms),buffer = 2 periods
ALSA: final selected sample format for capture: 24bit little-endian in 3bytes format
ALSA: use 4 periods for capture
ALSA: final selected sample format for playback: 24bit little-endian in 3bytes format
ALSA: use 4 periods for playback
ALSA: poll time out,polled for 2000981 usecs,Retrying with a recovery,retry cnt = 1
ALSA: poll time out,polled for 2000979 usecs,retry cnt = 2
ALSA: poll time out,polled for 2000982 usecs,retry cnt = 3
ALSA: poll time out,retry cnt = 4
ALSA: poll time out,polled for 2000988 usecs,retry cnt = 5
ALSA: poll time out,polled for 2000989 usecs,Reached max retry cnt = 5,Exiting
JackAudioDriver::ProcessAsync: read error,stopping...
我想自动解决这个问题,例如通过检测主机何时请求小工具驱动程序的 shell 脚本,然后我与 Jack 开始虚拟布线。
为此,必须能够读取小工具驱动程序是否正在使用。
是否有任何目录/文件可以检测到音频小工具设备是否正在使用中?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。