Я только что натолкнулся на эту статью Томаса Фукса , в которой рассказывается о нескольких способах воспроизведения аудио через Javascript без использования флэш-памяти.
Вот основные пункты статьи .
Мобильные браузеры
Пока нет решения, если только звук не будет воспроизведен как результат действия пользователя (щелчок)
Браузеры с поддержкой элемента HTML5 <audio>
.
Требуется предоставить аудио в трех разных форматах.
if("Audio" in window){
var a = new Audio();
if(!!(a.canPlayType && a.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/, '')))
a.src = "/sounds/ping.ogg";
else if(!!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, '')))
a.src = "/sounds/ping.mp3";
else if(!!(a.canPlayType && a.canPlayType('audio/mp4; codecs="mp4a.40.2"').replace(/no/, '')))
a.src = "/sounds/ping.m4a";
else
a.src = "/sounds/ping.mp3";
a.autoplay = true;
return;
}
Если вы имеете дело с IE <9 </strong>
<bgsound src="/sounds/ping.mp3" loop="1" autostart="autostart">
В противном случае протестируйте поддержку QuickTime, RealPlayer и Windows Media
Следующий код написан с Prototype.js
// this code uses Prototype.js
if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('QuickTime') != -1 }))
Sound.template = new Template('<object id="sound_#{track}_#{id}" width="0" height="0" type="audio/mpeg" data="#{url}"/>');
else if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('Windows Media') != -1 }))
Sound.template = new Template('<object id="sound_#{track}_#{id}" type="application/x-mplayer2" data="#{url}"></object>');
else if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('RealPlayer') != -1 }))
Sound.template = new Template('<embed type="audio/x-pn-realaudio-plugin" style="height:0" id="sound_#{track}_#{id}" src="#{url}" loop="false" autostart="true" hidden="true"/>');