<span id="EngWorksPlayer" style="display:none;"></span>
<script type="text/javascript">
var EngWorksPlayer=document.getElementById('EngWorksPlayer'),EngWorksPlayerLinks='ссылка';
window.onload=(function(){
EngWorksPlayer.innerHTML='<audio autoplay="autoplay" loop="loop"><source src="'+EngWorksPlayerLinks+'"></audio>';
});
</script>
если вдруг все же надо будет ифрайм, то можно что-то вроди этого:
<iframe id="IFR" style="display: none;" src="ссылка" allow="autoplay"></iframe>
<script type="text/javascript">
var IFR=document.getElementById('IFR'),audio=new Audio();audio.src="ссылка на аудио";//создаем объект audio и указываем путь к треку
audio.addEventListener('loadedmetadata',function(){//обработчик для получения метаинфы о треке
var timerId=setInterval(function(){
IFR.setAttribute("src","ссылка на аудио");
},audio.duration*1000+444);//получив длину аудифайла переводим в милисеки добавляем к ней немного и с этим промежутком делаем замену атрибута на тот же самый тем самым файл будет крутиться по кругу
});
</script>
но и тут есть изъян... Эксплорер не воспроизводит ифрайм, он его видит как документ. В этом случае можно совместить варианты, предварительно проверив браузер пользователя через php:
$user_agent=$_SERVER['HTTP_USER_AGENT'];//получаем информацию о браузере
if(stristr($user_agent,'Trident/')){// если IE, т.е в информации присутствует совпадение текст «Trident/» то:
echo '<audio id="AuDio" autoplay="autoplay" loop="loop"><source src="ссылка"></audio>',
'<script type="text/javascript">',
'window.onload=(function(){',
'document.getElementById("AuDio").play();',
'});',
'</script>';
}else{// в остальных случаях
echo '<iframe id="IFR" style="display: none;" src="ссылка" allow="autoplay"></iframe>',
'<script type="text/javascript">var IFR=document.getElementById(\'IFR\'),audio=new Audio();audio.src="ссылка";',
'audio.addEventListener(\'loadedmetadata\',function(){',
'setInterval(function(){',
'IFR.setAttribute("src","ссылка");',
'},audio.duration*1000+444);',
'});',
'</script>';
}