Embedded Linux ボードで ALSA ライブラリをテストする小さなプログラムを作成しました。プログラムは ALSA を構成し、1 つのサウンドを再生してから、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で実行しているため、これが表示されないことにも言及する必要があります。