我想在多个USB音频设备上同步播放相同的声音。上一次我尝试类似的事情是在2001年左右,并取得了成功-那时我使用的那对Griffin iMics仍然可以使用这种方式,但是现在我想要更多的渠道。
我很难让它与最新的USB音频设备一起使用。我有一些带有C-Media芯片的设备,这些设备会产生很多爆裂声和爆裂声,并且相对于iMics而言不同步;另一个装有TI芯片的设备不会发出裂纹,但仍然会失调。
根据我对USB音频工作原理的理解,同步问题将与使用同步时钟的iMics和使用异步时钟的其他问题一致。
现在,当我lsusb -v
看到时,我看到每个设备都暴露了多个端点,其中一些是同步的,一些是异步的,还有一些是自适应的。因此,我需要一些方法来指示音频驱动程序使用同步端点。那就是我被困住的地方。
- 我如何知道正在使用哪些端点?
lsof
报告a/dev/snd/pcmXXXXX
正在使用中,但是我不确定这是否与任何特定端点相对应。我可以在中看到有关端点的信息,/sys/bus/usb
但是我不知道如何知道任何端点处于活动状态。 - 如何通过配置ALSA或其他库来更改使用哪个端点?我尝试查看ALSA的来源,但没有找到任何有关它如何选择要使用的端点的部分。