Ошибка DOMException - воспроизведение Javascript () может быть инициировано только жестом пользователя, но я вызываю его из touchStart
В Javascript я получаю ошибку DOMException, только на Android, при запуске аудиоклипа с помощью play() из функции, которая вызывается с событием touchstart.
Я настроил событие с этим кодом:
instructionsDiv.addEventListener("touchstart", touchStart, false);
И я вызываю аудиоклип в функции с этим кодом:
instructionsDiv.removeEventListener("touchstart", touchStart);
audio = new Audio(sndSources.welcome);
audio.play();
Я получаю это предупреждение: "Не удалось выполнить" play "для" HTMLMediaElement ": API может быть инициирован только жестом пользователя".
И эта ошибка: "Uncaught (в обещании) DOMException: play() может быть инициировано только жестом пользователя".
Вот мое замешательство: 1. Я инициирую его жестом пользователя, используя событие касания 2. Это происходит только на Android. на iPhone работает нормально
Есть идеи?
2 ответа
Была точно такая же проблема. Судя по моим тестам, Android не рассматривает "сенсорный запуск" как жест для воспроизведения мультимедиа. Я использовал "mousedown" вместо этого, и он работает, как ожидалось.