【问题标题】:Padding silence at the end of wav file to 160 octet frame将 wav 文件末尾的静音填充到 160 字节帧
【发布时间】:2014-06-19 09:36:43
【问题描述】:

我在播放 wav 文件时遇到问题,其中播放器通过网络发送 RTP 流。发送的波形文件的最后一个字节用 00 00 00... 填充,使其成为一个 172 字节的数据包。当听到这些额外的填充时,会在文件末尾产生咔哒声。为了避免这种咔哒声,我需要用静音填充波形文件(而不是 00 00 00)。填充需要在文件末尾创建一个完整的 160 字节帧,以避免玩家添加零。

我需要编写一个小实用程序来做到这一点。我已经探索了 java 声音 api,我几乎发现可以将一个 wav 文件附加到另一个文件中,或者通过将位写入输出流来创建一个新的 wav 文件。

我需要有关如何将静音写入 wav 文件末尾以使其成为完整的 160 字节帧的帮助。另外,我不能填充 0 来添加静音,我应该写 0xff 来创建静音吗?

请帮忙?谢谢。

【问题讨论】:

    标签: java file-io wav outputstream javasound


    【解决方案1】:

    静音的 PCM 值为 0!

    我对 RTP 流媒体一无所知,因此,请对此持怀疑态度。我怀疑问题不在于填充本身(如果它真的只是一串 0),而是从实际 wav 到填充的过渡。

    如果 wav 在结尾处响起,那么突然过渡到 0 可能是问题所在。您可能需要提供某种逐渐减小的音量来代替突然跳到 0 值。

    RTP 的解码是否提供了一种清晰的方式来识别 wav 传输的结束?

    【讨论】:

      猜你喜欢
      • 2018-03-27
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多