package org.lib.speech.test;
import java.io.*;
import java.util.*;
import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
//生成的新.wav路径
File fileOut = new File("E:/java/apache-tomcat-7.0.77/webapps/JavaWeb/music/1.wav");
List<String> listArr = new ArrayList<String>();
listArr.add("E:/java/apache-tomcat-7.0.77/webapps/data/jyutping-wong-44100-v7/aak6.wav");
listArr.add("E:/java/apache-tomcat-7.0.77/webapps/data/jyutping-wong-44100-v7/1.wav");
listArr.add("E:/java/apache-tomcat-7.0.77/webapps/data/jyutping-wong-44100-v7/ang1.wav");
//如果这个语音大于 2 个
if (listArr.size() >= 2){
AudioInputStream audio1 = AudioSystem.getAudioInputStream(new File(dir+listArr.get(0)));
AudioInputStream audio2 = AudioSystem.getAudioInputStream(new File(dir+listArr.get(1)));
AudioInputStream audioBuild = new AudioInputStream(
new SequenceInputStream(audio1, audio2),
audio1.getFormat(),
audio1.getFrameLength() +
audio2.getFrameLength()
);
AudioInputStream audio3;
//大于两个时继续合并
for(int i = 2; i<listArr.size();i++){
audio3 = AudioSystem.getAudioInputStream(new File(dir+listArr.get(i)));
audioBuild = new AudioInputStream(
new SequenceInputStream(audioBuild, audio3),
audioBuild.getFormat(), audioBuild.getFrameLength() +
audio3.getFrameLength()
);
}
//生成语音
AudioSystem.write(audioBuild, AudioFileFormat.Type.WAVE, fileOut ); } else {
//TODO::否则只有一个,直接返回语音路径 }

注意 , 生成的语音要 比特率 一致,否则声音会很难听,如果要改为一直,则可以用百度音乐右上角工具来改变


Java 合并.wav 文件的更多相关文章

  1. Java 合并PDF文件

    处理PDF文档时,我们可以通过合并的方式,来任意合并几个不同的PDF文件,使我们方便的存储和管理文档.例如,在做毕业设计的时候,封面和论文正文往往是两个PDF文档,但是,上交电子档的时候,需要合二为一 ...

  2. [转载]java合并word文件

    需求背景 在互联网教育行业,做内容相关的项目经常碰到的一个问题就是如何动态生成一张word试卷.事先把题库中的每一道试题都已经保存成一个独立的word文件了,但是在选择了部分试题生成一张word试卷的 ...

  3. [原创]java合并word文件

    需求背景 在互联网教育行业,做内容相关的项目经常碰到的一个问题就是如何动态生成一张word试卷.事先把题库中的每一道试题都已经保存成一个独立的word文件了,但是在选择了部分试题生成一张word试卷的 ...

  4. java合并一个文件夹下所有txt文件,输出到另一个txt

    最近写了个单元测试,递归调用方法,把同一个文件夹里所有的txt合并输出到一个txt文件.参考了两个博客,分别是已有的方法,还有个就是检测txt文件所用编码的技术贴.如果不检测txt文件的编码,那么转换 ...

  5. java播放wav文件

    import java.io.File; import java.io.IOException; import javax.sound.sampled.AudioFormat; import java ...

  6. delphi 合并两个 Wav 文件流的函数

    合并两个 Wav 文件的函数 实例一 unit Unit1; interface usesWindows, Messages, SysUtils, Variants, Classes, Graphic ...

  7. Java 合并多个文件内容到一个文件(递归遍历某个文件夹下所有文件)

    这段代码通过Java I/O流API实现将多个文件合并到一个文件中,输出为文本文件,提供一个支持语法高亮的网站,http://www.codeinword.com/ 适合粘贴代码到word文档,小巧实 ...

  8. 用ffmpeg合并音频文件

    1 问题描述 打电话的对话,被拆分成了两个PCM文件.其中主叫的录音文件A.pcm,被叫的录音为B.pcm. 问题是怎么合成一个混音的对话文件AB.wav. 2 WAV文件的录音格式 常见的声音文件主 ...

  9. java写入excel文件poi

    java写入excel文件 java写入excel文件poi,支持xlsx与xls,没有文件自动创建 package com.utils; import java.io.File; import ja ...

随机推荐

  1. input实现文件上传

    input实现文件上传 input + ajax 实现文件上传,包括文件大小及类型的判断 一.html <input type="file" id="file&qu ...

  2. 前端打印功能实现及css设置

    首先是使用下边代码,实现js局部打印功能.参数dom为需要打印的节点,为了保证页面功能的单一性,最好弹出一个新的预览页面完成打印功能. function print(dom){ var body = ...

  3. 初识 JVM

    发展历史 1996年,SUN JDK 1.0 Classic VM 发布,纯解释运行,使用外挂进行JIT 1997年 JDK1.1 发布.包含了:AWT.内部类.JDBC.RMI.反射 1998年 J ...

  4. Linux命令详解-cal

    cal命令可以用来显示公历(阳历)日历.公历是现在国际通用的历法,又称格列历,通称阳历."阳历"又名"太阳历",系以地球绕行太阳一周为一年,为西方各国所通用,故 ...

  5. Elasticsearch知识整理

    1:es介绍          Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎.设计用于云计算中,          能够达到实时搜索,稳定,可靠,快速,安装使用方便.基 ...

  6. spring boot 中logback多环境配置

    spring boot 配置logback spring boot自带了log打印功能,使用的是Commons logging 具体可以参考spring boot log 因此,我们只需要在resou ...

  7. MyCat入门指南

    入门篇 1.       安装 1.1从https://github.com/MyCATApache/Mycat-download下载压缩包 1.2解压缩后复制到相应目录下面,比如/usr/local ...

  8. Quartz 框架 教程(中文版)2.2.x

    Quartz 框架 教程(中文版)2.2.x 之第一课 开始使用Quartz框架 Quartz 框架 教程(中文版)2.2.x 之第二课 Quartz API,Jobs和Triggers简介 Quar ...

  9. java中容器的学习与理解

    以前一直对于java中容器的概念不理解,虽然学习过,但始终没有认真理解过,这几天老师提出了这样一个问题,你怎么理解java中的容器.瞬间就蒙了.于是各种搜资料学习了一下,下面是我学习后整理出来的的一些 ...

  10. DIV+ul+LI实现表格效果以及div带滑动条

    写这个是为了给自己一个好好的笔记,以免下次需要的时候又到处找,费神费事费时费力.开始吧! 1.先看看效果 2.网页代码 <!DOCTYPE html PUBLIC "-//W3C//D ...