2013-07-23 60 views
2

我在10ms的时间段里给alsa写信来播放音乐,它在开始时效果很好,但是它在播放30分钟后有一些波涛汹涌的声音,而且波涛汹涌的声音只持续几分钟。在30分钟后alsa上的波涛汹涌的声音

任何想法为什么?

环境是: 的ARM Cortex-A8 音频编解码器TLV320AIC3106 的Linux内核版本:3.2.0 操作系统:Ubuntu的LTS 12.04.2

+0

您的代码可能有问题。 –

+0

录音不好? –

+0

@CL。我将我的alsa编写代码与mpg123进行了比较,唯一的区别是mpg123设置了hw_buffer_size,但我没有,我使用默认的缓冲区大小。有些参数是不同的,例如:我使用非常小的周期和句号。 –

回答

2

好吧,我发现这个问题。

在PC上,我们不需要调用snd_pcm_sw_params_set_avail_min,它工作得很好。但是,在我们的手臂机器上,我们必须设置它,否则,缓冲区的状态是不可预知的,这会导致声音和背景噪声波动。当你检查播放设备的状态时,你将看不到underruns,除了avail和avail_max值以外,一切都很好。

希望这会帮助别人。 :)

相关问题