21

当我直接从命令行运行 sox 作为 ;

sox -r 8000 -c 1 <wavfilename> <mp3filename>

我收到以下错误消息:

sox:“747a.mp3”的未知输出文件格式:文件类型“mp3”未知

我的机器运行的是 CentOS 操作系统。

4

4 回答 4

12

作为替代方案(如果您只需要将 Wave 文件编码为 MP3),您可以使用 LAME 来获得相同的结果,例如:

lame -b 32 --resample 8 -a <wavefilename> <mp3filename>

LAME 可以使用 yum 轻松安装在 CentOS 上。您首先需要 RPMForge 存储库:

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

然后:

yum install lame
于 2011-07-10T02:41:40.073 回答
10

您需要安装适当的 MP3 编码器,例如LAME,或重新编译带有 liblame 支持的 Sox。

这与您的 Perl 编程无关 :)

于 2009-06-25T11:27:55.087 回答
5

对于 CentOS,您将需要重新编译 SOX(基本 repo 有 sox srpm)并安装 libmad 和 lame-devel 库(rpmforge 有这些。)一旦完成,sox -h 将列出支持的格式。安装 mp3 库时,

sox -t wav -r 8000 -c 1 <wavfilename> -t mp3 <mp3filename>
于 2009-09-01T01:26:20.123 回答
0

更多信息在这里 -

http://techblog.netwater.com/?p=4

于 2010-09-15T10:26:09.020 回答