目录
  1. 1. 引入pom依赖
  2. 2. 代码示例
  3. 3. 使用命令直接转换
微信录音amr音频转wav格式

目标:微信录音amr格式转换成阿里能语音识别的wav格式文件
原理:使用ffmpeg工具对音视频格式进行转换

引入pom依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!-- jave核心包 -->
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-core</artifactId>
<version>2.4.6</version>
</dependency>
<!-- window64位 ffmpeg -->
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-native-win64</artifactId>
<version>2.4.6</version>
</dependency>
<!-- linux64位 ffmpeg -->
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-native-linux64</artifactId>
<version>2.4.6</version>
</dependency>

代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
File source = new File("D:\\1.amr");   //源文件
File target = new File("D:\\1.wav"); //目标文件
AudioAttributes audio = new AudioAttributes();
//设置解码格式,比特率,位数,声道等信息
audio.setCodec("pcm_s16le");
audio.setSamplingRate(new Integer(16000));
audio.setChannels(new Integer(1));
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("wav");
attrs.setAudioAttributes(audio);
Encoder encoder = new Encoder();
try {
MultimediaObject multimediaObject = new MultimediaObject(source);
encoder.encode(multimediaObject, target, attrs);
} catch (IllegalArgumentException | EncoderException e) {
e.printStackTrace();
}

使用命令直接转换

ffmpeg-amd64.exe -i 1.amr -acodec pcm_s16le -ac 1 -ar 16000 1.wav

文章作者: 微光
文章链接: http://www.guduke.cn/2019/07/23/wechat-translate/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 微光
打赏
  • 微信
  • 支付宝

评论