UDP を使用して他のピアに音声を送信する c++ を使用して、p2p アプリケーションを設計しています。
ループ内で 1 秒間音声をキャプチャするスレッド内のバッファでマイク信号をキャプチャしています。バッファにキャプチャされた 2 番目の音声ごとwhile
に、それをパケットに分割し、他のピアに送信します。ここで、リアルタイム伝送に対応する宛先での適切なデータ構造が必要です。スクリーン キャプチャに使用するのと同じデータ構造です。私が考えたキューを使用した2つのアプローチを次に示します
OneSecVoice
オブジェクトまたは画像の場合はオブジェクトのキューを維持するリンク リストを使用してキューを実装しますImage
。OneSecVoice
またはImage
オブジェクトの静的配列を使用したキューの実装
OneSecVoice/Image
オブジェクトには、パケットの総数、その特定のパケットバッファImage/OneSecVoice
が含まれます。
リアルタイムであるため、1 つのスレッドが継続的にキューをスキャンし、キューからポップすることで最新の完全なものを取り出し ます。Image/OneSecVoice
Image/OneSecVoice
したがって、リンクされたリストを使用してキューを実装するか、静的配列を使用してキューを実装するかを選択します。
私と私の友人はこれをめぐって争っているので、ここに投稿することにしました.