[英]Sound not playing in Eclipse
這是 class SoundTest 的代碼:
package code;
import java.io.File;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class SoundTest {
public static void main(String args[])
{
File sound = new File("main//Sounds//open1.wav");
playSound(sound);
}
public static void playSound(File f)
{
try {
File file = f;
if(file.exists())
{
AudioInputStream audio = AudioSystem.getAudioInputStream(file);
Clip clip = AudioSystem.getClip();
clip.open(audio);
clip.start();
//clip.close();
}
else
{
System.out.println("Can't find file");
}
}
catch(Exception e)
{
System.out.println("Didn't work!");
}
}
}
當我運行它時,沒有錯誤或異常,而且它從不說“找不到文件”或“沒有工作”。 但是我聽不到聲音,我是否必須更改 Eclipse 中的某種設置才能讓聲音響起? 還是我做錯了什么。 我很確定聲音文件位於正確的位置。
那不是 eclipse 的問題。 java 正在打開和播放文件,但即使在該音頻剪輯完成播放之前,程序也會終止 - 這意味着 java 程序不會等待剪輯完成播放
您的方法缺少一行代碼來滿足您的需求,請參見下文
Thread.sleep(clip.getMicrosecondLength() / 1000);
所以,添加這一行后你的代碼應該是這樣的,你會聽到你的音樂
AudioInputStream audio = AudioSystem.getAudioInputStream(file);
Clip clip = AudioSystem.getClip();
clip.open(audio);
clip.start();
Thread.sleep(clip.getMicrosecondLength() / 1000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.