Я понимаю, что это видео вопрос, и он относится и к аудио.
Я создал аудио тест с целью загрузки его в Moderizr с помощью Modernizr.addTest()
.
.результаты удивительны и очень зависят от платформы и состояния системы.Оказывается, есть несколько браузеров Android, которые поддерживают автоигру.Кто бы знал.
Глядя на GitHub , я представляю, что парни из Modernizr разберутся во всем этом более надежно и элегантно, чем я - если они этого еще не сделали.Кажется, сводится к времени.Вы могли бы подумать, что парни из браузеров бросят нам кость здесь.Может быть, они будут.
В любом случае, вот ссылка jsfiddle: Audio (). Autoplay test .
Хотя в примере jsfiddle есть пух-код, вот ядро:
var supportsAutoplay = false; //assume
var audio = new Audio();
var waitTime;
audio.autoplay = true;
audio.volume = 0;
// this will only be triggered if autoplay works
audio.addEventListener('play', function () {
supportsAutoplay = true;
});
audio.src = testSrc; //see if the listener is listening
setTimeout( //wait for listener to run
function(){
return supportsAutoplay;
},
waitTime
);
Хотя я не видел ни одного с setTimeout
, кроме указанного выше (парни из Modernizr об этом говорят), существует несколько версий этого кода.Полагаю, я зачислю Питер Коулз .Возможно, его версия менее подвержена проблемам со временем.