在我们的应用程序中,我们允许用户上传音频文件。目前我们支持wav格式,我们使用"sox"将.wav文件转换为星号的gsm。我们也希望有mp3支持。关于如何做到这一点,有什么建议吗?
非常感谢你的帮助。谢谢你。
当然,您仍然可以使用sox
将mp3转换为gsm/sln/alaw/ulaw格式的文件
看看http://sox.sourceforge.net/soxformat.html有关格式的更多信息,sox支持
这里有很多关于星号文件转换的信息。
http://www.voip-info.org/wiki/view/Asterisk+声音+文件
当然,你可以使用星号(如果它是用mp3支持编译的)
asterisk -rx "file convert filename.mp3 filename.gsm"
如果您想使用sox进行转换,则必须使用libmad支持重新编译sox。这是脚本:
cd /usr/src/
wget -c "http://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz?modtime=1076976000&big_mirror=0"
wget -c 'http://downloads.sourceforge.net/mad/libid3tag-0.15.1b.tar.gz?modtime=1076976000&big_mirror=0'
wget -c "http://sourceforge.net/projects/sox/files/sox/14.3.2/sox-14.3.2.tar.gz/download"
wget -c http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz
wget -c "http://downloads.sourceforge.net/mad/madplay-0.15.2b.tar.gz?modtime=1077580800&big_mirror=0"
CPU=4
for i in libid3tag libmad madplay lame sox
do
cd /usr/src/
tar -xzf $i-*.gz
cd /usr/src/$i*
./configure;
make -j $CPU
make install
done;
echo /usr/local/lib/ >>/etc/ld.so.conf
ldconfig
sox
ln -s /usr/local/bin/sox /usr/bin/sox
我使用了NCH software的一款名为"switch"的软件,它可以很好地转换GSM和使用Elastix PBX。唯一的问题是在Elastix GUI上,上传在系统记录上不起作用,所以我不得不通过SSH使用SCP(又名SFTP)上传。
http://www.nch.com.au/switch/
解决方案1:-
localhost*CLI>help file convert
用法:文件转换从file_in转换为file_out。如果没有给出绝对路径将使用默认的Asterisk声音目录。
示例:file convert tt-monkeys.gsm tt-monkeys.ulaw
解决方案2:-有一些在线工具可以为您工作。https://convertio.co/它可以将您的文件转换为近20种格式。例如gsm、wav、cdma、wma等。