1

我正在开发一个 Java 项目,我的目标是使用 RTP 协议流式传输声音。作为开始,我按照wikipedia中的指示编写了一些代码来生成标题。

但是现在,我对数据有效负载有很多疑问:我必须发送什么?我选择了有效载荷类型 10 来使用 wav 格式流式传输声音,在立体声中以 44.100 Hz 采样。

但是,在 Java 中,可能在任何阅读器中,要阅读音频,还需要其他信息:

  • 音频编码技术(例如:PCM_SIGNED)
  • 以位为单位的样本大小(例如:16 位)
  • 通道数:2,由有效载荷类型扣除
  • 帧大小(16 位 * 2 通道 = 32 位 = 4 字节)
  • 帧率(假设等于采样率)
  • 字节序(例如:小字节序)

所有这些信息都来自一个名为 的对象AudioFormat。但是,如何用我的有效载荷发送这些信息?首先,我的接收器可能不是用 Java 编写的,所以我怀疑它是否理解 object AudioFormat。而且,即使它是用 Java 编写的,如何指示第一个有效负载部分是一个对象AudioFormat,然后是原始数据?

我想有一种“通用”的方式来发送这些信息,但我在谷歌上没有找到任何东西。你能给我一些建议吗?

4

0 回答 0