这是我的代码,它连接四个wav文件并生成wavAppended.wav.此级联文件可以在Windows Media Player中很好地播放.

但是通过PlaySound类,只能听到one.wav.

有人可以帮忙吗?

class PlaySound extends Object implements LineListener

{

File soundFile;

JDialog playingDialog;

Clip clip;

public void PlaySnd(String s) throws Exception

{

JFileChooser chooser = new JFileChooser();

soundFile = new File(s);

Line.Info linfo = new Line.Info(Clip.class);

Line line = AudioSystem.getLine(linfo);

clip = (Clip) line;

clip.addLineListener(this);

AudioInputStream ais = AudioSystem.getAudioInputStream(soundFile);

clip.open(ais);

clip.start();

}

public void update(LineEvent le)

{

LineEvent.Type type = le.getType();

playingDialog.setVisible(false);

clip.stop();

clip.close();

}

}

public class Main

{

public static void main(String[] args)

{

int i;

String wavFile[] = new String[4];

wavFile[0] = "D://one.wav";

wavFile[1] = "D://two.wav";

wavFile[2] = "D://three.wav";

wavFile[3] = "D://space.au";

AudioInputStream appendedFiles;

try

{

AudioInputStream clip0=AudioSystem.getAudioInputStream(new File(wavFile[0]));

AudioInputStream clip1=AudioSystem.getAudioInputStream(new File(wavFile[1]));

AudioInputStream clip3;

for (i=0;i<4;i++)

{

appendedFiles = new AudioInputStream(

new SequenceInputStream(clip0, clip1),

clip0.getFormat(),

clip0.getFrameLength() + clip1.getFrameLength());

AudioSystem.write(appendedFiles, AudioFileFormat.Type.WAVE, new File("D:\wavAppended.wav"));

clip3 = AudioSystem.getAudioInputStream(new File("D:\wavAppended.wav"));

clip0=clip3;

clip1 = AudioSystem.getAudioInputStream(new File(wavFile[i+2]));

}

PlaySound p = new PlaySound();

p.PlaySnd("D://wavAppended.wav");

}

catch (Exception e)

{

e.printStackTrace();

}

}

}

java wav合并_用Java串联WAV文件相关推荐

  1. java集合合并_【Java必修课】各种集合类的合并(数组、List、Set、Map)

    1 介绍 集合类可谓是学习必知.编程必用.面试必会的,而且集合的操作十分重要:本文主要讲解如何合并集合类,如合并两个数组,合并两个List等.通过例子讲解几种不同的方法,有JDK原生的方法,还有使用第 ...

  2. java arraylist 合并_在Java中将两个arrayList合并到一个新的arrayList中,没有重复且没有顺序...

    我试图"合并"两个arrayList,产生一个新的arrayList,其中包含两个组合arrayLists中的所有数字,但没有任何重复的元素,它们应该是有序的.我想出了下面的这段代 ...

  3. java 数组合并_拼接_详解Java合并数组的两种实现方式

    详解Java合并数组的两种实现方式 发布于 2020-7-27| 复制链接 摘记: 最近在写代码时遇到了需要合并两个数组的需求,突然发现以前没用过,于是研究了一下合并数组的方式,总结如下.1.Syst ...

  4. java核心教程_核心Java教程

    java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...

  5. java初始化数据报_初始化java原因

    虚拟机的类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类 即虚拟机的类加载机制. 在Java中,类型的加载.链接 ...

  6. java正则表达式 匹配()_学习Java正则表达式(匹配、替换、查找)

    import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...

  7. java 包命名_【Java】包的命名规则

    命名规范 包:所有单词的字母小写,之后每个单词用-隔开,如 org.nemo.demo 常量:所有单词的字母大写,之后每个单词用_隔开,如 FLAG 类:所有单词的首字母大写,如 TestJava p ...

  8. java 图片效果_使用Java进行图片底片化效果处理

    使用java代码读取图片,并进行底片化处理 util importjava.awt.image.BufferedImage;importjava.io.File;importjava.util.Arr ...

  9. java array缓存_有java数组

    [JAVA零基础入门系列]Day10 Java中的数组 [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 D ...

最新文章

  1. pandas使用date_range函数生成日期序列数据、pandas将两个日期序列数据作差生成新的日期差数据列(8 days)、并提取天数数值(8)
  2. 如何防止批处理文件执行后自动关闭控制台
  3. 区块链新经济蓝图及导读pdf_区块链加快产业数字化转型,区块链新零售模式为企业发展加码提速...
  4. Flink SQL的N way join
  5. Kafka集群部署详细步骤(包含zookeeper安装步骤)
  6. 【CASS精品教程】CASS7.1 道路设计参数文件打开无响应,提示roadpara解决办法,权威解决办法汇总
  7. new关键字和newInstance()方法的区别?Class.forName()
  8. mysql ---- 多表查询
  9. 局域网中服务器群配置ssh免密
  10. PTA:编程题:7-1 一元多项式的乘法与加法运算 (20 分)
  11. .NET中string[]数组和Liststring泛型的相互转换以及Array类的Sort()方法(转)
  12. Winform 开发用户控件
  13. Kconfig 基本笔录
  14. META-INF、WEB-INF分别是什么?
  15. Vertica的这些事(四)—— 关于vertica常用函数介绍(持续更新ing)
  16. uniapp 使用支付宝扫码插件
  17. 洁净室(区)浮游菌检测方法操作规程标准
  18. 用surfaceview播放FFmpeg解码视屏
  19. 匹配标签的正则(用于抽取纯文本)
  20. HackTheBox-baby interdimensional internet

热门文章

  1. zabbix使用zabbix-java-gateway监控jvm/tomcat性能
  2. linux /etc/group文件详解
  3. C#5 复习总结循环 迭代和穷举
  4. SSH pts 虚拟终端
  5. ORACLE查询原理
  6. 你需要知道的基础算法知识——STL和基础数据结构(一)
  7. java cap是什么_寒冬面试归来总结最新蚂蚁4面(Java):CAP+数据强一致性+分布式等...
  8. eclipse中导入SVN项目步骤
  9. nginx+lua+redis deny ip
  10. 《敏捷可执行需求说明 Scrum提炼及实现技术》—— 3.4 关注干系人的“愿求”...