Non mi sono soffermato sulla classe player, comunque, questa funziona
codice:
import java.applet.AudioClip;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.FlowLayout;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JComboBox;

public class SoundJApplet extends JApplet
{
	private AudioClip sound1, sound2, currentSound;
	private JButton play, loop, stop;
	private JComboBox sound;

    @Override
	public void init()
	{
		setLayout (new FlowLayout());

		String[] choices = {"Suono 1", "Suono 2"};

		sound = new JComboBox (choices);

		sound.addItemListener
		(
			new ItemListener()
			{
				public void itemStateChanged (ItemEvent event)
				{
					currentSound.stop();
					currentSound = sound.getSelectedIndex() == 0 ? sound1 : sound2;
				}
			}
		);
		add (sound);

		ButtonHandler handler = new ButtonHandler();

		play = new JButton ("Play");
		play.addActionListener (handler);
		add (play);

		loop = new JButton ("Loop");
		loop.addActionListener (handler);
		add (loop);

		stop = new JButton ("Stop");
		stop.addActionListener (handler);
		add (stop);

		sound1 = getAudioClip (getDocumentBase(), "dr.wav");
		sound2 = getAudioClip (getDocumentBase(), "miami69.wav");
		currentSound = sound1;
	}

	public void stop()
	{
		currentSound.stop();
	}

	private class ButtonHandler implements ActionListener
	{
		public void actionPerformed (ActionEvent event)
		{
			if (event.getSource().equals(play))
				currentSound.play();
			else if (event.getSource().equals(loop))
				currentSound.loop();
			else if (event.getSource().equals(stop))
				currentSound.stop();
		}
	}
}
tanto per intenderci, l'unica cosa che ho cambiato nel tuo codice è l'implementazione di ButtonHandler... gli oggetti si comparano con equals