1 应用代码
// amr文件的全路径
var amrFile= Path.GetFullPath("a.amr", AppContext.BaseDirectory);
// 新文件mp3的全路径
var newFilePath = amrFile.Replace(ext, ".mp3");
//创建一个ProcessStartInfo对象 使用系统shell 指定命令和参数 设置标准输出
var psi = new ProcessStartInfo("sox", $" {amrFile} {newFilePath}");
//启动
using var proc = Process.Start(psi);
proc.Close();
2 Docker中安装sox
1.一般情况下,docker中可能不包含sox安装源,所以首先更改下载源
//打开配置文件
vi /etc/docker/daemon.json
//添加如下内容
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
//一些国内下载源
1.网易
http://hub-mirror.c.163.com
2.Docker中国区官方镜像
https://registry.docker-cn.com
3.中国科技大学
https://docker.mirrors.ustc.edu.cn
4.阿里云容器 服务
https://cr.console.aliyun.com/
//重启docker服务
systemctl restart docker
2.更新
//我的这种就可以
sudo apt-get update
//不行则执行upgrade
sudo apt-get upgrade
//下载命令
sudo apt-get install xxxxx
//不行则尝试
sudo apt-get install aptitude
//下载命令
sudo aptitude install xxxxx
3.下载sox
apt-get install lame
apt-get install sox
apt-get install libsox-fmt-mp3
这样就可以进行音频格式转化了。
4.sox命令扩展
//播放音频
play input.wav
//查看音频文件信息
sox input.wav -n stat
//查看音频文件信息input
soxi input.wav
//不失真最大调整量
sox input.wav -n stat -v
//调整音量0.8,(大于1为扩大,小于1为缩小)
sox -v 0.8 input.wav output.wav
//截取0秒开始,10秒长度的音频
sox *.wav *1.wav trim 0 10
//wav格式文件转mp3格式(需要安装mp3lame或libmad库支持)
sox *.wav sox *.mp3
//将两个单声道音频文件合并成一个立体声音频文件,文件长度和最长的音频一样
sox -M input1.wav input2.wav output.wav
//音频文件转采样率16k,单声道文件
sox input.wav -r 16000 -c 1 output.wav
//音道转换(-c2转换为双声道,-c1为单声道)
sox input.wav -c2 output.wav
//增加原来速度的2倍
sox input.wav output.wav speed 2
//录音
rec *.wav
//修改频率(48k)、通道数(1)、位深(16)
sox input.wav -r 48k -c 1 -b 16 output.wav
//将wav音频转为raw数据
sox input.wav -b 16 -e signed-integer -c 1 -r 48k -t raw output.raw