import java.io.*;
import java.net.URL;
import javax.sound.sampled.*;
import javax.swing.*;
public class Sound
{
// private variables;
private URL soundUrl;
private AudioInputStream audioIn;
private Clip soundClip;
private String audioFile;
// default constructor.
public Sound()
{
audioFile = " ";
soundClip = null;
soundUrl = null;
audioIn = null;
}
public Sound(String AudioFile)
{
this.audioFile = AudioFile;
}
// load audio file
public boolean loadSoundFile(String file)
{
this.audioFile = file;
try {
// Open an audio input stream.
soundUrl = this.getClass().getClassLoader().getResource(audioFile);
audioIn = AudioSystem.getAudioInputStream(soundUrl);
// Get a sound clip resource.
soundClip = AudioSystem.getClip();
// Open audio clip and load samples from the audio input stream.
soundClip.open(audioIn);
}
catch (UnsupportedAudioFileException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (LineUnavailableException e)
{
e.printStackTrace();
}
if(soundUrl != null)
{
return true;
}
else
{
return false;
}
}
// play sound
public void play()
{
this.soundClip.start();
}
public void stop()
{
this.soundClip.stop();
}
}
now it doesn't work the compiler points to this:
audioIn = AudioSystem.getAudioInputStream(soundUrl);
so i don't know what to do.....