1

マイクの場合、停止しきい値を次のように理解しています。サウンドカード ハードウェア リング バッファー内のサンプルがこのしきい値を超えると、ハードウェアはマイクのアナログからデジタルへのコンバーターからの読み取りを停止します。したがって、リングバッファは上書きされません。

スピーカーの場合、サウンドカードの Digital to Analog Converter でオーディオの再生が停止する最大のデータです。それ以上のデータはオーバーランを引き起こすはずです。

(上記の仮定が間違っている場合は修正してください)

スピーカーの場合、ALSA snd_pcm_sw_params_set_stop_threshold() をより低い値に設定すると、アンダーランが表示されます。さらなるオーバーランを期待しています。どうしてこれなの ?

ありがとう

4

1 に答える 1

4

キャプチャ デバイスの場合、使用可能なフレーム (つまり、キャプチャされたがまだバッファから読み取られていないフレーム) の数が停止しきい値に達すると、オーバーランが発生します。オーバーランは、キャプチャ デバイスでのみ発生する可能性があります。

再生デバイスの場合、使用可能なフレーム数 (つまり、バッファ内の空き領域) が停止しきい値に達すると、アンダーランが発生します。アンダーランは、再生デバイスでのみ発生する可能性があります。

停止しきい値を下げると、xrun の可能性が高くなります。

于 2013-04-04T16:34:50.147 に答える