Dúvida ao usar o MediaPlayer

Ae galera! 8)

Estou tentando implementar uma rotina que quando o usuário clicar em um botão o sistema emita um som.
Até ai tranquilo, fiz um método genérico:

[code] public static void playSound(Context c, Som s) {
MediaPlayer song = null;

	if (s == Som.BUTTON) {
		song = MediaPlayer.create(c, R.raw.button);
	}

	song.setOnCompletionListener(new OnCompletionListener() {

		public void onCompletion(MediaPlayer mp) {
			mp.release();
		}
	});

	song.start();
}[/code]

E chamo ele no clique do botão da seguinte maneira:

public void onClick(View v) { Util.playSound(getApplicationContext(), Util.Som.BUTTON); Intent intent = new Intent(getApplicationContext(),Classe.class); startActivity(intent); } });
Aparentemente funciona normal, mas no logCat fica dando print em um warning estranho:

[quote]01-29 21:42:12.359: I/MediaPlayer(7340): Don’t send intent. msg.arg1 = 0, msg.arg2 = 0
01-29 21:49:53.364: W/MediaPlayer-JNI(11154): MediaPlayer finalized without being released[/quote]

Alguém saberia me dizer o que pode ser? Porque depois de um tempo a aplicação trava, acho que é porque fica um monte de MediaPlayer carregado…
Agradeço desde já pela ajuda!

Nunca implementei isso, mas acho que tem que colocar um stop(); antes do release().

Nada, mesmo assim o sistema trava depois de um tempo