在我们的应用程序中,我们允许用户上传音频文件。目前我们支持 . 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+sound+files
当然你可以使用星号(如果它编译时支持 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 上的上传在系统记录上不起作用,所以我不得不使用 SCP aka SFTP over SSH 上传。
解决方案1:-
本地主机*CLI>help file convert
用法:file convert 从file_in 转换为file_out。如果没有给出绝对路径,将使用默认的 Asterisk 声音目录。
例子:
file convert tt-monkeys.gsm tt-monkeys.ulaw
解决方案 2:- 有一些在线工具可以为您工作。 https://convertio.co/ 它可以将您的文件转换为近 20 种格式。例如 gsm、wav、cdma、wma 等。