Lun*_*oms 9 c linux alsa
我正在使用ALSA API snd_pcm_drop()来清除缓冲区.但是当我稍后继续播放音频时snd_pcm_prepare(),我可以听到之前应该被清除的部分音频.当我的价值很高时会发生这种情况snd_pcm_sw_params_set_stop_threshold().如果我使用较低的值,则不会播放来自先前音频会话的部分音频.
snd_pcm_drop()
snd_pcm_prepare()
snd_pcm_sw_params_set_stop_threshold()
这里发生了什么?如何完全清除缓冲区?
(我是ALSA的新手)
谢谢
小智 0
“可以听到之前应该被清除的部分音频。” 因为ALSA缓冲区中还剩下一些音频数据,数据不够大,无法播放。放入ALSA缓冲区时放大音频包可能会解决问题。
归档时间:
12 年,5 月 前
查看次数:
2770 次
最近记录:
6 年,5 月 前