а иногда ошибку выдает, как исправить то? в чем проблема ?
mounted () {
const audio = new Audio(require('@/assets/sounds/Alarm.mp3'))
audio.muted = true
audio.play()
},
Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.
Там прям в сообщении об ошибке написано
Та я вижу, но я не понимаю в каком смысле он не взаимодействовал с документом?
Та я понимаю, но смотрел примере, на стакоферрвлове, в коментах писали что в маунтеде можна вот так вызвать. А что делать если мне не надо при клике ? мне надо только вызивать звук при открытие модалки
А точнее модалка вызиваеться не на клык, а открываеться когда сокет приходит
Нельзя просто так звуки проигрывать после загрузки, вроде
Так я же не просто так) , например приходит тривога , модалка вылазит, и тогда мне надо звук запустить тривоги, вроде же все как логично, но сделать мне не позволяет такое.
Да не) типо ajax
Есть ограничение браузера, пока пользователь не взаимодействовал с вашим сайтом, то нельзя запускать звуки, обойти это нельзя
А если имитировать клик на кнопку через реф например чтоб вызвал метод звука, так прокатит?
ой ой) , так что не рельно мне вставить звук когда модалка открываеться по сокету?)
Думаю, что в браузере предусмотрели такие хаки) в любом случае не стоит искать лазейки, лучше следовать правилам
Звук вставить реально, но если пользователь не взаимодействовал со страницей, то звука у него не будет, упадет просто ошибка в консоль
Не прокатит тогда как с мобилки))
В крайнем случае можете какое-то модальное окно выводить с кнопкой ОК, после нажатия на нее уже сможете любые звуки воспроизводить в любое время
Да, но уже так не подойдет( , оператор припустим сидит играет в телефоне, на екране там у него тривога , так звук б вызвался и он б заметил) а так на кнопку не пойдет никак(
Перед стартом покажи экран с кнопкой которую надо нажать
Если это для какой-то внутренней админки, то можете просто вешать модалку с блокером, и пока пользователь не нажмет, не сможет взаимодействовать со страницей
Обсуждают сегодня