你好,我有这个代码打开声音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文件到项目
发布于 2015-04-14 16:44:18
并非所有混音器都可用于音频输出(有些仅用于音频输入)。在您的代码中,您总是选择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);
}https://stackoverflow.com/questions/29567046
复制相似问题