我很乐意修改ALSA,我想从捕获到播放设备实现一个非常低延迟的流(顺便说一句,我找不到一些示例代码来阅读这个,你知道吗?我发现很多只捕获/只回放代码。)
我的问题是,如果,延迟明智,我应该使用hw:*
设备并自行处理它们的限制或plughw:*
设备提供的便利性足够好,我应该更喜欢后者
例如:我想以float32样本格式移动我的应用程序中的音频流,plughw:*
设备负责将float32转换为音频卡硬件所需的格式。如果使用hw:*
设备并且我自己做这个转换(我现在需要处理的其他事项),我可以实现更好的延迟吗?或者我不应该打扰?
提前感谢您的智慧。
答案 0 :(得分:1)
plug
插件中的转换是在动态上对每个示例完成的,因此没有额外的延迟。
只有在有额外的缓冲时才会出现延迟,例如在dmix
插件中。