繁体   English   中英

Java Sound .WAV格式

[英]Java Sound .WAV format

我知道这个问题已经被问过几次有关声音的问题了,相信我,我一直在努力尝试并得出自己的答案。 在使用其他项目之前,我曾用Java进行过声音处理,使用它没有任何困难:

public void playWelcome (){

  try{

    InputStream inputStream = 

    getClass().getResourceAsStream("Start.wav");

    AudioStream audioStream = new AudioStream(inputStream);

    AudioPlayer.player.start(audioStream);

  }catch(IOException ioException){

    ioException.printStackTrace();

    System.out.println("Unable to Find WAV/Start FIle");
  }   
} 

显然,这不能像以前解释的那样工作,所以我尝试使用:

public void uploadDownload() {

  try {
    AudioInputStream audioInputStream = 

    AudioSystem.getAudioInputStream(new

    File("/DaWord/src/resources/upload.wav").getAbsoluteFile());

    Clip clip = AudioSystem.getClip();

    clip.open(audioInputStream); 

    clip.start();

  } catch(Exception ex) {

    System.out.println("Error with playing sound.");

    ex.printStackTrace();
  }
}

注意:我也尝试了不带斜杠的文件。 例如'my file.wav'有人可以帮我一下吗?

更新:

所以我设法使它继续进行..

File soundFile = new File(“ / Users / myname / DaWord / src / testing.wav”);

      AudioInputStream audioIn = 

AudioSystem.getAudioInputStream(音效档);

     // Get a sound clip resource.
     Clip clip = AudioSystem.getClip();

     // Open audio clip and load samples from the audio input stream.
     clip.open(audioIn);

     clip.start();

但是,有谁知道如何通过不提供绝对路径来做到这一点? 我试图使用.absoulutePath(); 在File的末尾,例如:File

file =新文件(“ sound.wav”)。absouloutePath();

如此处所述这是分配从文件或URL通过管道传输的AudioInputStream的方法:

// from a wave File
File soundFile = new File("eatfood.wav");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(soundFile);
// from a URL
URL url = new URL("http://www.zzz.com/eatfood.wav");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
// can read from a disk file and also a file contained inside a JAR (used for distribution)
// recommended
URL url = this.getClass().getClassLoader().getResource("eatfood.wav");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);

暂时有效...完全路径

文件soundFile =新文件(“ /Users/mrBerns/NetBeansProjects/DaWord/src/ching.wav”);

      AudioInputStream audioIn = AudioSystem.getAudioInputStream(soundFile);              
     // Get a sound clip resource.
     Clip clip = AudioSystem.getClip();
     // Open audio clip and load samples from the audio input stream.
     clip.open(audioIn);
     clip.start();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM