0
私は、以下のコードブロックを使用してマイクからサンプルを受信し、SIPコールでRTPチャンネルに渡します。問題は200msごとにサンプルが到着しているのに対し、20msごとにサンプルが到着することです。サンプルは、20msで20msのサンプル間隔に適したサイズです.20msのサンプルが200msごとに到着するだけです。私はWaveInEventを設定してばかげたことをやっているでしょうか?WaveInEventサンプルイベントの頻度
var _waveInEvent = new WaveInEvent();
_waveInEvent.BufferMilliseconds = 20;
_waveInEvent.NumberOfBuffers = 1;
_waveInEvent.DeviceNumber = 0;
_waveInEvent.DataAvailable += RTPChannelSampleAvailable;
_waveInEvent.WaveFormat = new WaveFormat(8000, 16, 1);
一度に320バイトを取得していますが、何らかの理由で20ミリ秒ごとではなく200ミリ秒ごとに取得しています。 – sipwiz
OK、バッファサイズが正しいので、それだけでは追いついていません。 2つまたは3つのバッファと100msを試して、どの周波数になるか見てみましょう。 –
それはうまくいった。私は50msと4つのバッファを使用することができました(違いがあるかどうかは分かりません)。 NAudioはバッファをキューに入れますか?私は、各サンプルごとにDataAvailableイベントを呼び出すことができますか、または1つのイベントで2つ以上のサンプルがキューに入れられている可能性がありますか? – sipwiz