как заставить в хроме запускать' видео и аудио?
привет всем разработал скажем так маленькое приложения часы с фоновым видео и аудио,хочу сделать так что бы при загрузки автоматически запускался воспроизведение на стороне клиента, в chrome не играет, в firefox можно настроить в ручную но не каждый будет возиться с этим, помогите плиз решить эту задачу!
точнее как заставить с помощью javascript сделать autoplay или другими способами.
site : https://muradsky.github.io/myclock.github.io/ здесь исходники: https://github.com/MuradSky/myclock.github.io
Ответы (1 шт):
Так у вас не как не выйдет, так как идет нарушение Autoplay Policy Changes.
Для проигрывания музыки фоном, вам нужно дождаться действия со стороны пользователя, код будет выглядеть следующим образом:
let nAudio = new Audio();
let i = 0;
let playList = new Array('Untitled1.mp3', 'unt2.mp3', 'Untitled.mp3');
function onPlay () {
let play = nAudio.play();
if (typeof(play) != 'undefined') {
play.catch(()=> {
nAudio.muted = 1;
let t = setTimeout(function () {
clearTimeout(t);
nAudio.muted = 0;
onPlay();
}, 1000);
});
}
}
nAudio.addEventListener('loadedmetadata', onPlay, true);
nAudio.addEventListener('ended', function() {
i = ++i < playList.length ? i : 0;
nAudio.src = playList[i];
onPlay();
}, true);
try {
nAudio.src = playList[i];
nAudio.load();
} catch (e) {}