我一直对音频转换软件感到好奇,但我从来没有从初学者的角度看到如何编写一个简单的程序,例如将mp3文件转换为wav的正确解释.我不是在询问所涉及的任何复杂算法,只是使用简单库的一个小例子.搜索SO,我提出了几个名字,包括:
但我无法找到任何这些库的直接示例.通常我不介意涉及大量的代码,但在这里我完全不了解这个主题,所以我总觉得我在黑暗中拍摄.
这里的任何人都有一个关于使用这些库转换声音文件的简单示例/教程吗?我的问题专门针对C/C++,因为这些是我目前正在学习的两种语言,所以我想继续关注它们.
编辑:我忘了提一件事:我在*NIX系统上.
谢谢大家的回复!我将它们拼凑在一起,成功制作了一个将 AIFF/WAV/etc 文件转换为 mp3 文件的小实用程序。似乎有人对这个问题感兴趣,所以这就是我一步一步所做的:
\n\n步骤 1: \n按照 James Morris 的建议下载并安装libsndfile库。这个库非常容易使用 \xe2\x80\x93 它唯一的缺点是它不能处理 mp3 文件。
\n\n步骤 2: \n查看 libsndfile 附带的“examples”文件夹并找到generate.c。这提供了一个将任何非 mp3 文件转换为各种文件格式的很好的工作示例。它还让我们一睹 libsndfile 背后的强大功能。
\n\n步骤 3: \n借用generate.c 中的代码,我创建了 ac 文件,该文件仅将音频文件转换为 .wav 文件。这是我的代码: http: //pastie.org/719546
\n\n步骤 4: \n下载并安装LAME 编码器。这将安装 libmp3lame 库和 lame 命令行实用程序。
\n\n第 5 步: \n现在您可以仔细阅读 LAME 的 API,或者只是 fork 并执行一个进程来将您的 wav 文件转换为 mp3 文件。
\n\n第6步:拿出香槟和鱼子酱!
\n\n如果有更好的方法(我确信有)来做到这一点,请告诉我。我个人从未见过这样的分步路线图,所以我想我应该把它放在那里。
\n