Hola todos :
  brusjc : Tengo los mismos reparos con el Flash. Y no puedo creer que no haya un objeto de HTML para manejar con javascript que nos deje escuchar un *.mp3.
Estaba por buscar aquí, en el Foro, pero seguro que ya lo hiciste antes de preguntar. No voy a perder el tiempo. 
Revisé viejos apuntes, y todo lo que tengo es para 
IExplorer; algún ejemplo anda en 
Firefox; pero el más difícil es 
Opera, que al cargar se dispara de una con la música, y no hay cómo pararlo. 
Un truco con la etiqueta 
bgsound o 
embed era abrirla con su página en un 
frame oculto, y con unos botones JS cambiabamos la ruta del marco. Cada página tenía una ruta distinta, por supuesto. 
El método que funciona —pero es una carnicería— es el que propuso 
trasgukabi, ocultando el reproductor con 
hidden y/o CSS. Como la botonera no se puede manejar desde un JS, lo que hacemos es "borrar" o "escribir" todo el reproductor dentro de un 
div para simular el "stop" y el "play". Aunque en 
Opera, como dije, hay que recargar la página.  
 Código HTML:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html><head>
<title>SONIDO EN PÁGINA.</title>
<script type="text/javascript">
/* 'canciones/' será la ruta a la carpeta donde están los *.mp3 */
var aparato1 = '<embed id="repr" hidden src="canciones/'
var aparato2 = '" align="baseline" width="68" height="25" autostart="true" loop="false">';
function musica(T,mus){
document.getElementById('caja').innerHTML = aparato1+ mus +aparato2;
document.getElementById('play').style.display = "none";
document.getElementById('stop').style.display = "inline";
document.getElementById('stop').value = "Stop : " + T.value;
}
function silencio(){
document.getElementById('stop').style.display = "none";
document.getElementById('play').style.display = "inline";
document.getElementById('caja').innerHTML = "";
if(navigator.userAgent.indexOf("Opera") != -1) history.go(0);
}
</script>
<style type="text/css">
#botonera {text-align: center; }
#caja {overflow:hidden; position:absolute; }
#play input {background-color: #ccffcc; color: #006600; 
border-color: #008000; display: inline; font-weight: bold; }
#stop {background-color: #ffcccc; color: #660000; 
border-color: #800000; display: none; font-weight: bold; }
</style>
</head><body>
<h2>Botón para música. </h2>
<div id="caja"></div>
<p id="botonera"><span id="play" style="position:relative">
<input type=button onclick="musica(this,'tema01.mp3')" 
value="Sonido 1">
<input type=button onclick="musica(this,'tema02.mp3')" 
value="Sonido 2">
</span>
<input id="stop" type="button" 
onclick="silencio()" value="Stop" >
</p>
</body>
</html>  El mayor inconveniente es cuando ese reproductor que aparece en el 
browser no acepta MP3. Me pasó con un 
QuickTime abierto en 
Chrome y 
Firefox. Pero debe ser un tema de configuración. Supongo. Si alguien sabe qué hay que cambiar para que los abra, nos avisa.