1

我需要实现一个功能,该功能可以通过 TCP/IP 传输大型 mp3 文件的一部分,这种方式允许用户在没有整个文件的情况下收听每个部分(使用 libmpg123)。我希望允许用户在不重新编码流的情况下传输尽可能小的部分。我想忘记重新编码,因为我不希望每次传输都会降低音质。每次我想剪切 mp3 时,我确实有样本中的分割坐标:“从什么样本到什么样本”,所以每次我都应该将其转换为 mp3 帧的 ID。所以我的问题是:

  • 每个 mp3 帧是否有足够的信息(bps/samplerate/bits-per-sample/channels)来播放它而无需整个 mp3 文件头,只需将它们提供给 mp3 解码器?
  • 是否有任何 BSD/MIT 许可的小型库可以用作使用样本坐标和支持 VBR 的 mp3 拆分器?
4

2 回答 2

1

每个 mp3 帧都是独立的,可以独立存在。所以你不必担心。

于 2012-04-20T16:39:39.537 回答
1

你可以只剪切二进制文件!此解决方案的唯一问题...标签问题

或者试试这个: http: //www.codeproject.com/Articles/8295/MPEG-Audio-Frame-Header

于 2012-04-20T16:41:48.827 回答