首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BASS.dll -如何将MP3流的一部分复制到另一个文件

BASS.dll -如何将MP3流的一部分复制到另一个文件
EN

Stack Overflow用户
提问于 2011-11-15 20:34:50
回答 1查看 1.9K关注 0票数 2

我正在使用BASS.dll库,所有我想做的就是使用BASS_StreamCreateFile将MP3 Im播放的一部分重定向到另一个文件(可以是MP3或WAVe)。我不知道怎么开始?我正在尝试使用帮助来寻找答案,但仍然一无所获。我可以播放这个流。读一些我需要的数据。现在我需要复制文件,例如从2:00到2:10 (或按位置)。你知道我该怎么开始吗?

问候你,J.K.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-16 01:59:34

嗯,我不是特别了解贝斯,但我对音乐播放和压缩数据格式有一定的了解,正确地复制数据需要一个中间的解码步骤。下面是你需要做的:

  1. 打开文件并找到正确的position.
  2. Decode将音频放入内存缓冲区。缓冲区的大小应为(LengthInSeconds * SamplesPerSecond * Channels * BytesPerSample)字节。因此,如果是10秒的CD音质音频,那么就是10 * 44100 *2(立体声)*2(16位音频)= 1764000字节。
  3. 将这个解码数据的缓冲区输入到MP3编码函数中,并将生成的MP3保存到一个文件中。

如果BASS有解码到外部缓冲区和将缓冲区编码到MP3的函数,那么您就很好了;您所要做的就是找出要使用的函数。如果没有,您必须找到另一个用于MP3编码和解码的库。

另外,还要注意generational loss。MP3使用有损压缩,因此如果您对数据进行多次解压缩和重新压缩,则会影响音质。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8136417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档