通过Clip和AudioInputStream播放Java声音不起作用
这是Java声音信息页面中的一个稍加修改的示例。不幸的是,它只播放一次声音,但意图是两次通过Clip和AudioInputStream播放Java声音不起作用,java,ubuntu,wav,javasound,Java,Ubuntu,Wav,Javasound,这是Java声音信息页面中的一个稍加修改的示例。不幸的是,它只播放一次声音,但意图是两次 import java.io.File; import javax.sound.sampled.*; public class TestNoise { public static void main(String[] args) throws Exception { File f = new File("/home/brian/drip.wav"); AudioIn
import java.io.File;
import javax.sound.sampled.*;
public class TestNoise {
public static void main(String[] args) throws Exception {
File f = new File("/home/brian/drip.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(f);
AudioFormat af = ais.getFormat();
DataLine.Info info = new DataLine.Info(Clip.class, af);
Clip clip = (Clip)AudioSystem.getLine(info);
clip.open(ais);
clip.start(); // heard this
Java.killTime();
clip.start(); // NOT HEARD
Java.killTime();
}
}
编辑:要理解答案,请查看Wanderlust提供的链接,或者按照其答案下方评论中的内容进行操作。第二次播放该剪辑时,您必须致电
clip.start();
clip.stop();
第二次调用clip.start()后的原因;它试图从播放WAV的位置播放文件。1)中显示的播放WAV的确切来源是否适合您?2) 您的测试WAV的确切来源(URL更改除外)失败了吗?为了更快地获得更好的帮助,请发布一条消息。@broiyan:如果您打算删除您的Swing验证问题,为什么我要浪费空闲时间来处理它?正式注明,以备将来参考。谢谢。它需要一个剪辑。setFramePosition(0);使其正确重播。