我正在使用的应用程序仅在产生足够的声音后播放声音。假设我单击鼠标10次,没有声音,然后在那10次点击后我会听到10个鼠标点击声音(例如)
我发现缓解此问题的唯一方法是设置一个非常短的缓冲区大小,我不想这样做。
我一直在尝试使用start_threshold sw参数,但这没有效果。
在写入指定数量的缓冲区大小的数据时,我似乎应该能够强制它播放,这是正确的吗?这就是start_threshold似乎表明的,因为句点长度可以比缓冲区短得多(或者我在例子中看到过)。
我的代码是这样的:
调用HW参数设置
获取带数据的字节数组
循环并写入缓冲区,每次加一个字节偏移量
调用start(这应该强制它回放,对吧?)
如果有-EPIPE,请调用prepare并将0添加到offset(我认为这是玩游戏的唯一时间。)
谢谢!