[英]Java Sound File Not Playing3
你好,我有這段代碼來打開聲音WAV文件,但沒有用
import java.io.IOException;
import java.net.URL;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.Mixer;
import javax.sound.sampled.UnsupportedAudioFileException;
import sun.applet.Main;
public class Sound1 {
public static Mixer mixer;
public static Clip clip;
public static void main(String[] args) {
// TODO code application logic here
Mixer.Info[] mixinfo =AudioSystem.getMixerInfo();
for(Mixer.Info info :mixinfo)
{
System.out.println(info.getName()+"...."+info.getDescription());
mixer = AudioSystem.getMixer(mixinfo[0]);
}
DataLine.Info datainfo =new DataLine.Info(Clip.class, null);
try
{
clip =(Clip)mixer.getLine(datainfo);
}
catch(LineUnavailableException lue)
{
lue.printStackTrace();
}
try
{
URL soundurl = Main.class.getResource("1.wav");
AudioInputStream audiostream = `enter code here`AudioSystem.getAudioInputStream(soundurl);
clip.open(audiostream);
}
catch(LineUnavailableException lue)
{
lue.printStackTrace();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
clip.start();
do
{
try { Thread.sleep(50);}
catch (InterruptedException ie){ ie.printStackTrace();}
}while(clip.isActive());
}
}
我無法運行程序,有錯誤,請幫助我,我認為這里的錯誤是“ URL soundurl = Main.class.getResource(“ 1.wav”);“ 盡管我將i.wav文件添加到項目中
並非所有混音器都可用於音頻輸出(有些僅用於音頻輸入)。 在您的代碼中,您總是選擇Mixer.Info []數組中的第一個混音器,它可能不支持音頻輸出。 您可以通過致電檢查
mixer.isLineSupported(datainfo);
如果您實際上並不需要混音器(在播放需要同步的多個音頻文件時通常需要混音器),則可以使用以下方法播放簡單的.wav文件:
public void play(File file) throws LineUnavailableException{
Clip clip=AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(file));
clip.loop(1);
}
更多信息: 訪問音頻系統資源
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.