1

ユーザーの声をキャプチャし、Wi-Fi ソケット接続を介して AMR-WB 形式でストリーミングするために MediaRecorder を使用しています。

mediaRecorder.setOutputFile(ParcelFileDescriptor.fromSocket(socket).getFileDescriptor());

画面に転送速度を表示したいのですが、これを実装する最良の方法を探しています。私は自分で2つの解決策を考えることができます:

  • LocalSocket-LocalServerSocket ループを作成し、バッファを使用してデータを転送します。これにより、不要な遅延が追加され、パフォーマンスのオーバーヘッドが増加する可能性があります。
  • コーデックの特性に基づいて転送データを計算します。例: (各サンプルのサイズ) * (サンプル/秒)。このソリューションは、遅延がランダムなネットワークや、エンコード レートが可変のコーデックでは機能しません。

他に方法はありますか?

4

1 に答える 1

1

ParcelFileDescriptor.createPipe()パイプを作成します。

次に、パイプに書き込み、相手から読み取ったバイトをカウントしてから、それらをエーテルにストリーミングできます...

于 2013-04-19T09:33:20.477 に答える