ALSA メモ

ALSAでPCMファイルを再生するプログラムを書いて実験していたけど、
何故か音が鳴らない・・・
ごく希に、「プチ」っと音が鳴ります。

ウェブでみつけたサンプルコードでは、きちんと音が鳴るので、違いを追ってみると・・・
snd_pcm_drain() しているかどうかでした。

snd_pcm_drain() をしないで、プログラムを終了してしまうと、未再生のフレームは捨てられてしまいます。
snd_pcm_drop() も捨てられます。

実験に用いたPCMファイルが非常に短いものだったので、音が全く鳴らず、結局1時間くらい悩んでしまいました。
少し長めのファイルを使うと、snd_pcm_drain() しないと、途中でプチっと音が切れる様子がわかります。

さて、とりあえず x64 Linux 上ではきちんと音がでるようになったけど、Armadillo ではまだ試せていないので、明日の課題としよう。