完美解决个人微信音频amr文件与mp3格式互转
1、安装gcc ffmpeg
wget http://downloads.sourceforge.net/lame/lame-3.100.tar.gz
tar -zxvf lame-3.100.tar.gz
cd lame-3.100
./configure --prefix=/usr/local
make && make install
ln -s /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
wget http://ffmpeg.org/releases/ffmpeg-3.4.1.tar.bz2
tar -jxvf ffmpeg-3.4.1.tar.bz2
cd ffmpeg-3.4.1
./configure --prefix=/usr/local --pkg-config-flags=--static --enable-libmp3lame --disable-x86asm
make && make install

2、安装/silk-v3-decoder
cd /usr/local/soft
wget https://github.com/kn007/silk-v3-decoder/archive/master.zip
unzip master.zip
chmod -R +x /usr/local/soft/silk-v3-decoder-master/
silk-v3-decoder/converter.sh 微信amr文章文件路径名 mp3

3、改造一个encoder脚本,decoder已经有了不用改造了
converter-encoder.sh(请拷贝以下脚本放到silk-v3-decoder-master目录下)

#!/bin/bash
# File: converter.sh
# Date: August 19th, 2016
# Time: 18:56:52 +0800
# Author: http://www.wityx.com/post/824_1_1.html
# Blog: https://kn007.net
# Link: https://github.com/kn007/silk-v3-encoder
# Usage: sh converter.sh silk_v3_file/input_folder output_format/output_folder flag(format)
# Flag: not define ---- not define, convert a file
# other value ---- format, convert a folder, batch conversion support
# Requirement: gcc ffmpeg

# Colors
RED="$(tput setaf 1 2>/dev/null || echo '\e[0;31m')"
GREEN="$(tput setaf 2 2>/dev/null || echo '\e[0;32m')"
YELLOW="$(tput setaf 3 2>/dev/null || echo '\e[0;33m')"
WHITE="$(tput setaf 7 2>/dev/null || echo '\e[0;37m')"
RESET="$(tput sgr 0 2>/dev/null || echo '\e[0m')"

# Main
cur_dir=$(cd `dirname $0`; pwd)

if [ ! -r "$cur_dir/silk/encoder" ]; then
echo -e "${WHITE}[Notice]${RESET} Silk v3 Encoder is not found, compile it."
cd $cur_dir/silk
make && make encoder
[ ! -r "$cur_dir/silk/encoder" ]&&echo -e "${RED}[Error]${RESET} Silk v3 Encoder Compile False, Please Check Your System For GCC."&&exit
echo -e "${WHITE}========= Silk v3 Encoder Compile Finish =========${RESET}"
fi

cd $cur_dir

while [ $3 ]; do
[[ ! -z "$(pidof ffmpeg)" ]]&&echo -e "${RED}[Error]${RESET} ffmpeg is occupied by another application, please check it."&&exit
[ ! -d "$1" ]&&echo -e "${RED}[Error]${RESET} Input folder not found, please check it."&&exit
TOTAL=$(ls $1|wc -l)
[ ! -d "$2" ]&&mkdir "$2"&&echo -e "${WHITE}[Notice]${RESET} Output folder not found, create it."
[ ! -d "$2" ]&&echo -e "${RED}[Error]${RESET} Output folder could not be created, please check it."&&exit
CURRENT=0
echo -e "${WHITE}========= Batch Conversion Start ==========${RESET}"
ls $1 | while read line; do
let CURRENT+=1
ffmpeg -i "$1/$line" -f s16le -ar 24000 -ac 1 -acodec pcm_s16le "$2/$line.pcm" > /dev/null 2>&1 
$cur_dir/silk/encoder "$2/$line.pcm" "$2/${line%.*}.$3" -tencent > /dev/null 2>&1
rm "$2/$line.pcm"
[ ! -f "$2/${line%.*}.$3" ]&&echo -e "[$CURRENT/$TOTAL]${YELLOW}[Warning]${RESET} Convert $line false, maybe ffmpeg no format handler for $3."&&continue
echo -e "[$CURRENT/$TOTAL]${GREEN}[OK]${RESET} Convert $line To ${line%.*}.$3 Finish."
done
echo -e "${WHITE}========= Batch Conversion Finish =========${RESET}"
exit
done

ffmpeg -i "$1" -f s16le -ar 24000 -ac 1 -acodec pcm_s16le "$1.pcm" > /dev/null 2>&1 
$cur_dir/silk/encoder "$1.pcm" "${1%.*}.amr" -tencent > /dev/null 2>&1
rm "$1.pcm"
[ ! -f "${1%.*}.amr" ]&&echo -e "${YELLOW}[Warning]${RESET} Convert $1 false, maybe ffmpeg no format handler for amr."&&exit
echo -e "${GREEN}[OK]${RESET} Convert $1 To ${1%.*}.amr Finish."
exit

完美解决 个人微信音频amr文件与mp3格式互转
4、用java调用脚本
private static String silkv3Path="/usr/local/soft/silk-v3-decoder-master/";

/**
* 将amr转成mp3,参考http://www.wityx.com/post/824_1_1.html
* @param coderPath
* @param amrfilePath
*/
public static void converterDecoderMp3(String coderPath, String amrfilePath) {
if(StringUtils.isBlank(coderPath)){
coderPath = silkv3Path;
}
String decoderCmd = coderPath + "converter.sh " + amrfilePath;
exeCmd(decoderCmd);
}

/**
* 将mp3转成amr,参考http://www.wityx.com/post/824_1_1.html
* @param coderPath
* @param mp3filePath
*/
public static void converterEncoderAmr(String coderPath, String mp3filePath) {
if(StringUtils.isBlank(coderPath)){
coderPath = silkv3Path;
}
String encoderCmd= coderPath + "converter-encoder.sh " + mp3filePath;
exeCmd(encoderCmd);
}

private static void exeCmd(String commandStr) {
BufferedReader br = null;
try {
Process p = Runtime.getRuntime().exec(commandStr);
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
String amrfilePath = "/home/1.amr";
String mp3filePath = "/home/3.mp3";
String coderPath = silkv3Path;
converterDecoderMp3(coderPath, mp3filePath);
converterEncoderAmr(coderPath, amrfilePath);
}

Java微信语音amr格式转mp3格式相关推荐

  1. 微信语音怎么合并成MP3格式

    手机微信收发的语音消息以单独的文件形式存储在手机存储中,将这些音频文件导出到电脑后,即可通过第三方软件对其进行读取,并将所有微信语音消息合并成MP3格式音频文件. 1,先把要合并微信语音的苹果手机或安 ...

  2. 新款文章,绝无仅有!微信语音aud文件转换为mp3格式

    前提 需求: 目前aud后缀的音频文件无法在任何软件上进行播放,需要进行转换,而当你有需要的时候,例如语音作为追债证据的时候,需要将语音文件分享给其它人听,这时候就需要在手机中找到对应的aud语音文件 ...

  3. 完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven

    少费话,先上代码 引入 maven 依赖 <dependency><groupId>com.github.dadiyang</groupId><artifac ...

  4. java 微信语音下载电脑版,完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven...

    首先感谢 : 直接上代码 1.首先引入maven依赖(使用maven这点我很喜欢) com.github.dadiyang jave 1.0.4 2.调用 AudioUtils.amrToMp3 方法 ...

  5. Java 微信语音 amr 格式转 mp3 格式

    少费话,先上代码 引入 maven 依赖 <dependency><groupId>com.github.dadiyang</groupId><artifac ...

  6. php 下载微信语音文件怎么打开软件,微信群讲课或语音讨论交流 如何把大家讲的微信语音合成一个音频文件mp3格式...

    想要将一些微信群讲课或语音讨论交流的微信语音导出来,然后把大家讲的微信语音合成一个音频文件mp3格式,这个过程怎么来实现的呢,嗯~ o(* ̄▽ ̄*)o .最终的效果是可是实现的,在这之前需要先分几个步 ...

  7. linux java amr转mp3_本工具用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...

    音频转码工具 本工具主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放. 支持 Linux/Windows/Mac 平台 因为是基于 JAVE 项目 ...

  8. java amr音频转码_jave: 音频转码工具,主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...

    音频转码工具 本工具主要用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放. 支持 Linux/Windows/Mac 平台 因为是基于 JAVE 项目 ...

  9. PHP如何下载微信语音到服务器,并将amr格式转换为MP3格式,最后上传到阿里云oss文件中

    第一步:下载微信语音到服务器中 废话不多说,直接上代码 1.总的流程方法(里面的方法在下面) 2.下载微信语音的方法 3.将微信语音的amr格式转换为MP3格式(需要使用FFmpeg,安装使用过程请看 ...

最新文章

  1. AlertDialog 宽度充满整个屏幕
  2. C#与.NET程序员面试宝典 1.4.3 笔试(举例微软、雅虎笔试题目)
  3. 记录某段程序的运行时间
  4. 类型转换_异常处理机制
  5. 【Android开发经验】android:windowSoftInputMode属性具体解释
  6. VMWARE双机安装说明
  7. lol最克制诺手的英雄_LOL:究竟有没有完美克制诺手的英雄?时光上单或可一战?...
  8. async await Task
  9. Leetcode每日一题:44.wildcard-matching(通配符匹配)
  10. Redis在项目中的使用及性能测试(续)
  11. Spring学习14-源码下载地址
  12. 如何在HTML网页引入思源黑体
  13. gif怎么分解成图片呢?
  14. 2017年全国大学生电子设计竞赛获奖名单
  15. 各种统计检验及r语言实现
  16. 2020伊始,电动车又给自己刷了一遍谎言buff
  17. 「保姆级教学」带你闹清楚JAVA人的TOM猫是啥,再整明白Mac下怎么安装Tomcat
  18. mongodb获取具体某一天的查询语句
  19. 赵明称荣耀2022年全球销量有望翻倍;微软完成197亿美元收购Nuance | 美通社头条...
  20. SpringBoot文件上传

热门文章

  1. 详解Spire.PDF中的坐标体系及应用
  2. acm退役感言(一个又菜又懒的退役选手的记录)
  3. STM32CubeMX V6.3.0 在STM32F407ZGT6(正点原子开发板)上实验5----TCP客户端
  4. 数字经济为古老丝绸之路注入新元素
  5. CATIA怎么约束快捷键_CATIA怎么设置快捷键?
  6. 牛客网——数据分类处理
  7. 谐云加入飞桨技术伙伴计划,赋能金融双录业务走向智能化
  8. 开源虚拟光驱 WinCDEmu
  9. idea使用leetcode,显示无法登录的解决办法
  10. Visio Studio 2019 安装没进度