项目中 处理IM 录音模块,因为IOS 录音本身限制较多,只能单边录音,所以考虑了java 合成,由双端分别上传,因为坑了很久,所以希望对大家也有帮助
执行命令:
1628 ls
1629 mkdir ffmpeg
1630 cd ffmpeg/
1631 ls
1632 wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
1633 ls
1634 xz -d ffmpeg-git-amd64-static.tar.xz
1635 ls
1636 tar -xvf ffmpeg-git-amd64-static.tar
1637 ls
1638 cd ffmpeg-git-20200909-amd64-static/
1639 ls
1640 ./ffmpeg
1641 ls
1642 pwd
1643 cd /usr/bin
1644 ln -s /data/im-boss/ffmpeg/ffmpeg-git-20200909-amd64-static/ffmpeg ffmpeg
1645 ln -s /data/im-boss/ffmpeg/ffmpeg-git-20200909-amd64-static/ffprobe ffprobe
1646 ffmpeg
执行代码工具类
public class AudioUtil {
private static Logger LOG = LoggerFactory.getLogger(AudioUtil.class);
private static int doWaitFor(Process process) {
int exitValue = -1; // returned to caller when p is finished
InputStream error = process.getErrorStream();
InputStream is = process.getInputStream();
byte[] b = new byte[1024];
int readbytes = -1;
try {
while ((readbytes = error.read(b)) != -1) {
LOG.info("标准错误输出信息:" + new String(b, 0, readbytes));
}
while ((readbytes = is.read(b)) != -1) {
LOG.info("标准输出信息:" + new String(b, 0, readbytes));
}
} catch (IOException e) {
LOG.error("等待进程结束出现错误!");
e.printStackTrace();
} finally {
try {
error.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
r