2017-04-10 3 views
0

私はオーディオを録音して別のユーザーにストリームするアプリを使用しています。これは基本的にVoIPコールです。私がやっている問題は、ピアにストリーミングしているオーディオが約0.5秒遅れていることです。これはかなり目立っていて、あなたが両方とも同時に話そうとすると少し迷惑になります。Swift - AVFoundationを使用してオーディオを録音するときの遅延を取り除く方法

これはAVFoundationのAVAudioEngineに共通しているのか、それとも設定した方法と関係があるのだろうかと思います。

これはAVAudioEngineの既知の問題ではない場合はソースコードを含めることができます。そうでなければ、遅延を最小限に抑えてオーディオを記録する最適なルートをお勧めしますか?

私はまた、かなり高いレベルであり、迅速な3/3.1と互換性のあるものを好むでしょう。しかし、これらのニーズを満たす解決策がない場合は、最適と思われるツールをお勧めします。

ありがとうございました!

答えて

0

「AVAudioEngine.inputNode.installTap」関数は、サポートされているバッファサイズの最小値が100 msまたは(sampleRate * 0.1)のサンプルであることを確認してください。

+0

ありがとうございます。しかし、バッファサイズを100に設定しようとしましたが、デフォルトは4410です。これは私のコードです: localInput?.installTap(onBus:0、bufferSize:100、format:localInputFormat){(buffer、when) Void in しかし、私がbuffer.frameCapacityとbuffer.frameLengthをプリントアウトするときには両方とも4410です。 – Kember

+0

bufferSizeパラメータ - サンプルのオーディオバッファの推奨サイズ(!)です。 sampleRateが44100の場合、サポートされているbufferSizeの最小値は4410です。 "100"を "4410"に置き換えます。 –

+0

デフォルトでは、私は4410でbufferSizeを持っていました。残念ながら、これは動作しません。 – Kember

関連する問題