[英]java :clip line not working
這是我正在使用的代碼。我已經使用Clip類播放剪輯了。程序已被編譯,沒有任何錯誤並且運行正常,但是我聽不到聲音。
import java.io.File;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineEvent;
import javax.sound.sampled.LineListener;
public class ClipTest {
public static void main(String[] args) throws Exception {
File soundFile = new File("./1.wav");
AudioInputStream sound = AudioSystem.getAudioInputStream(soundFile);
DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat());
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(sound);
clip.addLineListener(new LineListener() {
public void update(LineEvent event) {
if (event.getType() == LineEvent.Type.STOP) {
event.getLine().close();
System.exit(0);
}
}
});
clip.start();
}
}
我只是嘗試您的代碼。 我認為您的錯誤是文件ist空或未正確加載
我只是替換
File soundFile = new File("./1.wav");
AudioInputStream sound = AudioSystem.getAudioInputStream(soundFile);
與
InputStream inRequest = this.getClass().getResourceAsStream("1.wav");
AudioInputStream sound = AudioSystem.getAudioInputStream(inRequest);
這是新班
public class ClipTest {
public void run() throws UnsupportedAudioFileException, IOException, LineUnavailableException {
InputStream inRequest = this.getClass().getResourceAsStream("batR.wav");
AudioInputStream sound = AudioSystem.getAudioInputStream(inRequest);
DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat());
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(sound);
clip.addLineListener(new LineListener() {
public void update(LineEvent event) {
if(event.getType() == LineEvent.Type.STOP) {
event.getLine().close();
System.exit(0);
}
}
});
clip.start();
}
public static void main(String[] args) throws Exception {
ClipTest clipTest = new ClipTest();
clipTest.run();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.