Colócalo así:
Código PHP:
<script type="text/javascript">
function CambiarImagen()
{
var portada = document.getElementById("albumcover");
var id = new Date().getTime();
portada.innerHTML = "<img src='images/cover/artwork.jpg?d="+id+"'>";
}
function UpdateTitle()
{
var xmlhttp;
//get "track name" block
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
var s = xmlhttp.responseText;
document.getElementById('track_name').innerHTML = s;
CambiarImagen();
}
}
//use random number in request to prevent caching
var rand_no = Math.random();
rand_no = rand_no * 100;
//read the "temp_title.txt" file
xmlhttp.open("POST", "/temp_title.txt?"+rand_no, true);
xmlhttp.send();
}
//
setInterval("UpdateTitle()", 1000);
UpdateTitle();
</script>
Debes estar seguro que el div tiene como id albumcover o sino no va a funcionar, debes estar seguro que esa es la ruta de la imagen. De resto debería servir. O por lo menos a mí me funcionó en la prueba que hice.
PD: Un problema que veo es que tienes el tiempo de actualización muy seguido, cada segundo estás haciendo la petición y eso no le da tiempo a la imagen siquiera de mostrarse. Si quieres puedes aumentar el tiempo de refresco y si definitivamente no hay posibilidad deberías crear otro SetInterval exclusivo para la función CambiarImagen() que se ejecute cada 5 o 10 segundos.