C++ ALSA:循环声音问题
我编写了一个小程序,在嵌入式Linux板上测试ALSA库。程序配置ALSA,播放单个声音,然后等待1分钟后退出 以下是我观察到的:播放完声音后,会有无声的停顿,然后再次播放声音。我百分之百肯定节目本身不会再播放了 为了进一步研究,我做了另一个实验:在同一块板上播放一个不同的声音。这很有效。接下来,我再次执行了hello world程序。这次除了周期性的声音外,我还听到了aplay播放的其他声音 我怀疑alsa lib或声音驱动程序中的缓冲区未被清除。或者我可能没有正确配置软件参数。snd_pcm_dump会显示以下信息:C++ ALSA:循环声音问题,c++,c,embedded-linux,alsa,C++,C,Embedded Linux,Alsa,我编写了一个小程序,在嵌入式Linux板上测试ALSA库。程序配置ALSA,播放单个声音,然后等待1分钟后退出 以下是我观察到的:播放完声音后,会有无声的停顿,然后再次播放声音。我百分之百肯定节目本身不会再播放了 为了进一步研究,我做了另一个实验:在同一块板上播放一个不同的声音。这很有效。接下来,我再次执行了hello world程序。这次除了周期性的声音外,我还听到了aplay播放的其他声音 我怀疑alsa lib或声音驱动程序中的缓冲区未被清除。或者我可能没有正确配置软件参数。snd_pcm
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 i和ubuntu ts self。我发现费力地检查驱动程序并测试它们是最好的选择,同时使用扬声器测试-c2-twav也能帮上大忙
至于你的萨尔萨舞,我看不出有什么好看的。但是我担心如果没有更多的信息,我就无法提供更多的帮助。我对ALSA的经验是痛苦的,因为它的代码中有bug。我会先将libs更新到最新版本,然后再试一次。我对ALSA的体验是痛苦的