当我直接从命令行运行sox时为;
sox -r 8000 -c 1 <wavfilename> <mp3filename>
我收到以下错误消息:
sox:未知的输出文件格式 '747a.mp3':文件类型'mp3'不是 已知
我的机器正在运行CentOS操作系统。
答案 0 :(得分:10)
您需要安装合适的MP3编码器,例如LAME,或者使用liblame支持重新编译Sox。
这与您的Perl编程无关:)
答案 1 :(得分:10)
作为替代方案(如果您只需要将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
答案 2 :(得分:4)
对于CentOS,你需要重新编译SOX(基础仓库有sox srpm),安装了libmad和lame-devel库(rpmforge有那些。)一旦完成,sox -h将列出支持的格式。安装mp3库时
sox -t wav -r 8000 -c 1 <wavfilename> -t mp3 <mp3filename>
答案 3 :(得分:0)
此处有更多信息 -