【问题标题】:How to convert 24-bit wav to mp3 with Lame using C++如何使用 C++ 使用 Lame 将 24 位 wav 转换为 mp3
【发布时间】:2010-07-21 08:04:47
【问题描述】:

我在 C++ 应用程序中使用 Lame 库将 wav 文件编码为 mp3 文件。

它适用于 16 位 wav,但现在我需要转换一些 24 位 wav,但我似乎找不到方法。特别是,我找不到用于设置“bitwidth”参数的函数,该参数被蹩脚的命令行作为开关。 (将“bitwidth”设置为24时,命令行可执行文件确实可以正确转换24位wav,所以我认为它必须是可能的。)

提前感谢您的任何提示!

【问题讨论】:

    标签: c++ wav lame 24-bit


    【解决方案1】:

    将“bitwidth”设置为24时,命令行可执行文件确实可以正确转换24位wav,所以我认为它一定是可能的

    也许解决方案是查看命令行实用程序的source-code,或者甚至在调试器中单步执行它,看看是如何做到的。

    【讨论】:

    • 很抱歉没有早点回答,工作有点忙。谢谢你的建议!不幸的是,lame 在内部是一大堆意大利面条代码——我最终使用 MatLab 生成了各种位宽的 wav:nice and clean。
    • @Cristina:这就是我建议使用调试器的原因;那么您只需要遵循特定调用的执行线程即可。我想你所要做的就是跟踪 24 位参数的处理方式。
    • 是的,我使用了调试器...我现在不记得确切的情况了,因为那是很久以前的事了,但是有一些奇怪的全局变量不知从何而来那。也许如果我使用 C++ 的时间不止几个月,它会更清楚。底线,在我们有空的短时间内,这不值得麻烦;-)
    • @Cristina:相信我,这很值得麻烦。它应该是你在“你好,世界”之后学习的第二件事,因为它可以节省你的时间。但是,如果您使用的是不完全支持 C++ 的 C 调试器,则结果可能会令人困惑,但您不太可能在嵌入式系统开发之外遇到这样的调试器,即使现在调试器通常都支持 C++。
    • 是的,当然!我完全同意。我意识到我之前的回答可能被认为是“认为调试太深奥的菜鸟”,但实际上我总是在这种情况下使用调试。然而,在那种情况下,只能在调试结构不良和未记录的代码之间进行选择,或者采取简单的方法。如果这是一些个人的宠物项目,我不会花更多时间来了解发生了什么。但不幸的是,当您在合同期限内时,无论您是快还是慢都很重要:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    相关资源
    最近更新 更多