当我尝试处理 mp3 文件时 sox 返回错误

cpp*_*pit 7 mp3 sox

你好,这是交易,我用过:

$ yum install sox 
Run Code Online (Sandbox Code Playgroud)

在 CentOS 6 中安装它。之后我做了一个快速测试:

$ sox test.mp3 test.amr
Run Code Online (Sandbox Code Playgroud)

这就是它返回的内容:

$ sox formats: no handler for file extension `mp3'
Run Code Online (Sandbox Code Playgroud)

我需要用soxnot来完成这项工作,lame因为我需要将它用于混合和其他lame.

slm*_*slm 4

CentOS 上的普通版本sox不支持该mp3编解码器。这是它所支持的内容的列表。

\n\n
$ sox\n...\nAUDIO FILE FORMATS: 8svx aif aifc aiff aiffc al amb au avr caf cdda cdr cvs cvsd\ncvu dat dvms f32 f4 f64 f8 fap flac fssd gsm gsrt hcom htk ima ircam la lpc \nlpc10 lu mat mat4 mat5 maud nist ogg paf prc pvf raw s1 s16 s2 s24 s3 s32 s4 s8 \nsb sd2 sds sf sl smp snd sndfile sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 \nu32 u4 u8 ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi\nPLAYLIST FORMATS: m3u pls\nAUDIO DEVICE DRIVERS: alsa ao oss ossdsp pulseaudio\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以下载 的源 RPMsox并重新编译libmadlame-devel安装库以添加对此功能的支持。

\n\n

本教程应该会有所帮助,标题为:在 CENTOS 5.X 上安装 SOX W/ MP3 支持,尽管它适用于 CentOS 5.x,但它仍然适用。该帖子的评论中还提供了在 CentOS 6.x 上支持sox编译的步骤。mp3

\n\n

脚步

\n\n

从评论来看。

\n\n

CentOS 6.4无mad或libid3tag的一站式解决方案(YMMV):

\n\n
### as root\n\n$ yum install -y sox lame    \n$ mkdir /usr/local/src/SoX\n$ cd /usr/local/src/SoX\n$ wget http://downloads.sourceforge.net/project/sox/sox/14.4.1/sox-14.4.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsox%2Ffiles%2Fsox%2F14.4.1%2F&ts=1366019279&use_mirror=freefr\n$ tar -xvzf sox-14.4.1.tar.gz\n$ cd sox-14.4.1/\n$ ./configure\n$ make -s\n$ make install\n$ echo \xe2\x80\x9cinclude /usr/local/lib\xe2\x80\x9d >> /etc/ld.so.conf\n$ /sbin/ldconfig\n
Run Code Online (Sandbox Code Playgroud)\n\n

回购#1 - RPM Fusion

\n\n

为了能够安装,lame您需要向您的组合中添加一个额外的 YUM Repo。包含的存储库lame称为RPM Fusion。在我撰写本文时,将安装 RPM Fusion 存储库的最新版本的 RPM 位于:rpmfusion-nonfree-release-6-1.noarch。要安装它:

\n\n
$ sudo rpm -ivh http://download1.rpmfusion.org/nonfree/el/updates/6/x86_64/rpmfusion-nonfree-release-6-1.noarch.rpm\n
Run Code Online (Sandbox Code Playgroud)\n\n

注意:您可能需要RPM 签名密钥,特别是 EL6 的签名密钥

\n\n

回购#2 - EPEL

\n\n

安装 RPM Fusion 存储库需要另一个名为EPEL-Extra Packages for Enterprise Linux 的YUM 存储库。在安装 RPM Fusion 的 RPM 之前,您还需要安装此 RPM。

\n\n
$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm\n
Run Code Online (Sandbox Code Playgroud)\n\n

注意:此存储库上的版本号会不时更改,因此最好检查最新的版本号。目前,在撰写本文时,最新版本是 6.8。您可以在上面的软件包名称“epel-release-6-8.noarch.rpm”中看到这些数字。

\n\n

参考

\n\n\n