1

我正在使用 MediaRecorder 捕获用户的语音并通过 Wi-Fi 套接字连接以 AMR-WB 格式对其进行流式传输:

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

我想在屏幕上显示传输速率,我正在寻找实现这一点的最佳方法。我自己可以想到两种解决方案:

  • 创建一个 LocalSocket-LocalServerSocket 循环并使用缓冲区传输数据。这可能会增加不必要的延迟并增加性能开销。
  • 根据编解码器的特性计算传输数据。例如,(每个样本的大小)*(每秒样本数)。此解决方案不适用于具有随机延迟的网络或具有可变编码率的编解码器。

还有其他方法吗?

4

1 回答 1

1

ParcelFileDescriptor.createPipe()将为您创建一个管道。

然后,您可以写入管道并计算从另一端读取的字节数,然后再将它们流式传输到以太......

于 2013-04-19T09:33:20.477 回答