1

对于麦克风,我将停止阈值理解为:如果声卡硬件环形缓冲区中的填充样本超过此阈值,则硬件停止从麦克风的模数转换器读取。因此环形缓冲区不会被覆盖。

对于扬声器,它是应该导致停止使用声卡的数模转换器播放音频的最大数据。任何进一步的数据都应该导致溢出。

(如果我在上述假设中错了,请纠正我)

对于扬声器,当我将 ALSA snd_pcm_sw_params_set_stop_threshold() 设置为较低的值时,我可以看到欠载。我预计会有更多的超支。为什么是这样 ?

谢谢

4

1 回答 1

4

对于捕获设备,当可用帧(即捕获但尚未从缓冲区读取的帧)的数量达到停止阈值时会发生溢出。只有捕获设备才会发生溢出。

对于播放设备,当可用帧数(即缓冲区中的可用空间)达到停止阈值时,就会发生欠载。只有播放设备才会发生欠载。

降低停止阈值将使 xruns 更有可能。

于 2013-04-04T16:34:50.147 回答