[英]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.