Не работает функция play() на мобильных

117
30 сентября 2019, 04:00

Нужно при загрузке страницы в iframe воспроизводить звуковой файл. На ПК всё работает, на мобильных устройствах (Chrome, Safari) звука нет.

<iframe id='page' onload='frameLoaded();' sandbox='allow-same-origin' style="max-width:100px; max-height: 100px;"></iframe>
<button id="btn">GO</button>

Js:

document.getElementById("btn").onclick = function () {
   document.getElementById("page").src = "https://wikipedia.org";
}
var mysound = new Audio('sounds/clap.mp3');
frameLoaded = function() {
    mysound.play().then(function() {}).catch(function(error) {alert(error);});
}

Ошибка:

NotAllowedError: the request is not allowed by the user agent
or the platform in the current context, possible because
the user denied permission.

Понятно, что это политика мобильных браузеров, но как-то ведь можно это решить? Воспроизводится же на сайтах звуковой и видео контент.

READ ALSO
getBoundingClientRect не коректная работа с zoom [закрыт]

getBoundingClientRect не коректная работа с zoom [закрыт]

Когда я прошу getBoundingClientRect у img то left right top bottom возвращаются некорректные данные то есть при движении картинки в право left right уменьшаются (тоже...

123
Динамический меню на Angular 7

Динамический меню на Angular 7

Передо мной вот такая задача создать динамический меню на Angular 7У меня вот такой JSON

136
Как повернуть маркер в leaflet js?

Как повернуть маркер в leaflet js?

подскажите как повернуть маркер в leaflet js в зависимости от стартовой точки и конечной точки? Использую ext js

110
JS, Vue.js определение формы

JS, Vue.js определение формы

Допустим у меня есть многомерный массив с новостями который приходит с сервера:

115