Hola:
La verdad es que los plugins son un auténtico coñazo, pero los que navegamos con alguno de esos navegadores que lo requieren, los tenemos instalados... Y la polémica entre object y embed, cierto es que se puede encontrar detractores del segundo, pero como te he puesto antes, se trata de "experiencia personal"...
Lo del altavoz es solo poner una imagen u otra dependiendo de que haya música o nó... te paso el código original... en él hay una especie de precarga con ajax (una de esas curiosidades...), donde se cambia la imagen al terminarse la carga del fichero de música:
playfilemp3.php
Código php:
Ver original<?
$sonar = $_FILES["f"];
$tmp = $sonar["tmp_name"];
$tipo = $sonar["type"];
$titulo = ($sonar == "") ? "No hay Música": "Canción: $sonar[name]";
$altavoz = ($sonar == "") ? "altavozApagado.gif" : "altavoz.gif";
if ($sonar != "") {
$fichero = $sonar["name"];
$_SESSION["tip"] = $tipo;
}
?>
<html>
<head>
<title>
<?=$titulo; ?>
</title>
<style type="text/css" >
* {
margin: 0;
padding: 0;
overflow: hidden;
}
</style>
<?
if ($sonar != "") echo <<< ajax
<script type="text/javascript" >
function objetoAjax() {
if (window.XMLHttpRequest)
_ajax = new XMLHttpRequest();
else
if (window.ActiveXObject)
_ajax = new ActiveXObject("Microsoft.XMLHTTP");
else
_ajax = false;
return _ajax;
}
window.onload = function() {
ajax = objetoAjax();
if (ajax) {
ajax.open("get", "playtempmp3.php?$url", true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 3) {
parent.espera_terminada();
document.images[0].src = "../dibujos/altavoz.gif";
}
}
ajax.send(null);
}
else {
document.images[0].src = "../dibujos/altavoz.gif";
parent.espera_terminada();
}
}
</script>
ajax;
?>
</head>
<body>
<img src="../dibujos/altavozApagado.gif" alt="<?=$titulo["name"]; ?>" />
<?
if ($sonar != "") echo <<< sonido
<embed src="playtempmp3.php?$url" autostart="true" type="$tipo" style="width: 0; height: 0" /></embed>
sonido;
?>
</body>
</html>
Saludos