我想使用alsa实现全双工通信。我首先编写了捕获和回放程序,并使用 UDP 通信将数据从捕获的进程传输到回放进程。当我运行两个进程时工作正常,其中一个正在捕获,另一个正在播放(将其视为从 A 到 B 的半双工),当我尝试实现另一个半双工(从 B 到 A 的半双工)时,问题就出现了然后我得到管道破裂错误从麦克风读取数据时。怎么解决这个问题?任何帮助,提前致谢。
注意:我在不同的系统上运行两个进程
当应用程序必须等待 PCM 设备时,它会进入睡眠状态并在下一个周期边界被唤醒。因此,读/写的最佳大小是一个周期(或其倍数)。
一旦某些帧可用,您就应该读取/写入示例数据。
要减少溢出/欠载的可能性,请增加缓冲区大小。
(在捕获设备上,增加缓冲区大小不会增加延迟。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)