5

snd_pcm_readi()を呼び出して、20ミリ秒ごとまたは40ミリ秒ごとにオーディオデータを取得したいと思います。データを同期的に取得する方法を知りたい...つまりXミリ秒ごと...

ご回答ありがとうございます。

4

1 に答える 1

3

リアルタイムのオーディオ読み取りまたは再生の場合、通常、呼び出し元の専用の優先度の高いワーカースレッドを作成してから、いくつかのリングバッファーを利用します。スレッドはロックを回避する必要があります。

alsaの例:

http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2latency_8c-example.html#a36

http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html

単にディスクから読み取る場合は、十分なバッファが必要です。次にウェイクアップして、次にウェイクアップする前にさらに読み取る必要があるかどうかを確認します(合計レイテンシを考慮)。

于 2010-10-09T00:35:57.663 に答える