import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import sun.audio.*;
import java.io.*;
import java.io.FileInputStream.*;

public class SoundDemo extends Applet implements ActionListener
{
    public void init ()
    {

	resize (250, 250);
	JButton play = new JButton ("Click to jump");
	play.addActionListener (this);
	play.setActionCommand ("jump");
	add (play);
	JButton win = new JButton ("Click to win");
	win.addActionListener (this);
	win.setActionCommand ("win");
	add (win);
    }


    public void actionPerformed (ActionEvent e)
    {
	if (e.getActionCommand ().equals ("jump"))
	{
	    soundEffect ("jump");
	}
	else if (e.getActionCommand ().equals ("win"))
	{
	    soundEffect ("winSound");
	}

    }


    //For a single sound effect
    public void soundEffect (String filepath)
    {
	//initialize objects
	//declare sound effect player
	AudioPlayer SEP = AudioPlayer.player;
	//declare sound effect
	AudioStream SE;
	//declare audio data
	AudioData MA;
	//set as single run (NOT LOOP)
	AudioDataStream play = null;

	try
	{
	    //set file
	    SE = new AudioStream (new FileInputStream (filepath + ".wav"));
	    MA = SE.getData ();
	    //set data to play once (NOT LOOP)
	    play = new AudioDataStream (MA);
	}
	catch (IOException error)
	{
	    System.out.println ("Audio - File not found.");
	}
	SEP.start (play);
    }



    protected static ImageIcon createImageIcon (String path)
    {
	java.net.URL imgURL = SoundDemo.class.getResource (path);
	if (imgURL != null)
	    return new ImageIcon (imgURL);
	else
	    return null;
    }
}
