关于java AudioInputStream播放短音频没声音的问题
Posted ~的星辰大海
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java AudioInputStream播放短音频没声音的问题相关的知识,希望对你有一定的参考价值。
播放短的音频时,在还没有播放时,程序就调用了stop事件,解决方法,为Clip添加一个监听器:
1 import javax.sound.sampled.*; 2 3 public class EarlyStopDemo { 4 private Clip clip; 5 6 public void go() throws Exception { 7 AudioInputStream audioInputStream = 8 Audiosystem.getAudioInputStream( 9 new java.io.File("testLong.wav")); 10 DataLine.Info info = 11 new DataLine.Info(Clip.class, audioInputStream.getFormat()); 12 clip = (Clip) AudioSystem.getLine(info); 13 clip.addLineListener(new LineListener() { 14 public void update(LineEvent e) { 15 if (e.getType() == LineEvent.Type.STOP) { 16 synchronized(clip) { 17 clip.notify(); 18 } 19 } 20 } 21 }); 22 clip.open(audioInputStream); 23 clip.start(); 24 synchronized (clip) { 25 clip.wait(); 26 } 27 clip.close(); 28 } 29 30 public static void main(String[] args) throws Exception { 31 EarlyStopDemo acd = new EarlyStopDemo(); 32 for (int i = 0; i < 10 ; i++ ) { 33 acd.go(); 34 } 35 } 36 }
以上是关于关于java AudioInputStream播放短音频没声音的问题的主要内容,如果未能解决你的问题,请参考以下文章
如何从 InputStream 转换为 AudioInputStream
AudioInputStream 正在抛出 NullPointerException