ALSA:循环声音问题
Posted
技术标签:
【中文标题】ALSA:循环声音问题【英文标题】:ALSA: Looping Sound Problem 【发布时间】:2011-04-18 10:14:12 【问题描述】:我编写了一个小程序,用于在嵌入式 Linux 板上测试 ALSA 库。程序配置 ALSA,播放单个声音,然后等待 1 分钟后退出。
这是我观察到的:播放声音后,有无声的停顿,然后再次播放声音。我 100% 肯定该程序本身不会再次播放。
为了进一步调查,我做了另一个实验:在同一块板上使用 aplay,我播放了不同的声音。这工作得很好。接下来我再次执行了我的 hello world 程序。这次除了周期性的声音外,还听到了aplay播放的声音。
我怀疑 alsa-lib 或声音驱动程序中的缓冲区没有被清除。或者我可能没有正确配置软件参数。 snd_pcm_dump 吐出以下信息:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 8000
exact rate : 8000 (8000/1)
msbits : 16
buffer_size : 32768
period_size : 2048
period_time : 256000
tstamp_mode : NONE
period_step : 1
avail_min : 2048
period_event : 0
start_threshold : 1
stop_threshold : 32768
silence_threshold: 0
silence_size : 0
boundary : 1073741824
我还应该提到,我没有看到任何这些是我在 Ubuntu 下运行的。
【问题讨论】:
我对 ALSA 的体验很痛苦,因为它的代码存在错误。我会先将库更新到最新版本,然后再试一次。 我对 ALSA 的体验很痛苦 【参考方案1】:我在不使用 alsa-lib 时遇到了一些类似的问题。但是用 alsa i 和 ubuntu ts self.我发现煞费苦心地检查驱动程序并测试它们是最好的选择,同时使用类似 speaker-test -c2 -twav 的东西也很有帮助 至于你的莎莎实现,我看不到任何东西。但恐怕如果没有更多信息,我将无法提供更多帮助。
【讨论】:
以上是关于ALSA:循环声音问题的主要内容,如果未能解决你的问题,请参考以下文章