2
我在10ms的时间段里给alsa写信来播放音乐,它在开始时效果很好,但是它在播放30分钟后有一些波涛汹涌的声音,而且波涛汹涌的声音只持续几分钟。在30分钟后alsa上的波涛汹涌的声音
任何想法为什么?
环境是: 的ARM Cortex-A8 音频编解码器TLV320AIC3106 的Linux内核版本:3.2.0 操作系统:Ubuntu的LTS 12.04.2
我在10ms的时间段里给alsa写信来播放音乐,它在开始时效果很好,但是它在播放30分钟后有一些波涛汹涌的声音,而且波涛汹涌的声音只持续几分钟。在30分钟后alsa上的波涛汹涌的声音
任何想法为什么?
环境是: 的ARM Cortex-A8 音频编解码器TLV320AIC3106 的Linux内核版本:3.2.0 操作系统:Ubuntu的LTS 12.04.2
好吧,我发现这个问题。
在PC上,我们不需要调用snd_pcm_sw_params_set_avail_min,它工作得很好。但是,在我们的手臂机器上,我们必须设置它,否则,缓冲区的状态是不可预知的,这会导致声音和背景噪声波动。当你检查播放设备的状态时,你将看不到underruns,除了avail和avail_max值以外,一切都很好。
希望这会帮助别人。 :)
您的代码可能有问题。 –
录音不好? –
@CL。我将我的alsa编写代码与mpg123进行了比较,唯一的区别是mpg123设置了hw_buffer_size,但我没有,我使用默认的缓冲区大小。有些参数是不同的,例如:我使用非常小的周期和句号。 –