如果我知道音频文件的确切格式并需要重复播放,如何用Java播放声音?

时间:2016-07-13 12:17:08

标签: java audio

我知道有this method但文档说该文件将转换为目标格式。我不想转换任何东西,也不想让JRE试图"尝试"并在每次播放音频文件时确定音频格式。如何在没有这种开销的情况下播放音频文件?顺便说一句,该文件是.wav

2 个答案:

答案 0 :(得分:0)

我曾经尝试过一段时间。声音格式为.wav

你可以尝试一次......

public static synchronized void audioPlay(String fileLoc) {new Thread(new Runnable() {

    public void run() {
      try {
        Clip clip = AudioSystem.getClip();
        AudioInputStream ais= AudioSystem.getAudioInputStream(
          Main.class.getResourceAsStream("the path of the wav file" + fileLoc));
        clip.open(ais);
        clip.start(); 
      } 
catch (Exception ex) {
       ex.printStackTrace();
       System.out.println(ex.getMessage);
      }
    }
  }).start();
}

答案 1 :(得分:0)

我在这里找到了答案:http://www.albeesonline.com/blog/2007/10/20/play-wav-files-using-java/

try {
    AudioInputStream stream =
    AudioSystem.getAudioInputStream(new File("C:\\i386\\Blip.wav"));

    AudioFormat format = stream.getFormat();
    DataLine.Info info =
              new DataLine.Info(Clip.class,format);
    Clip clip = (Clip) AudioSystem.getLine(info);

    clip.open(stream);
    clip.start();

  } catch (Exception e) {
       e.printStackTrace();
  }

现在我可以保存格式供以后使用。