Почему не может быть audio.play () будет выполнен, я заглянул в элемент проверки и увидел какую-то неперехваченную ошибку (в обещании) DOMException

#javascript #html #css #audio

#javascript #HTML #css #Аудио

Вопрос:

Я получаю сообщение об ошибке!

 let fillbar=document.querySelector('.fill');
var audios= ["HOTEL_LOBBY.mp3", "FROZEN.mp3", "DOUBLE_UP.mp3"];
let covers=["popsmoke.jpg","2scratch.jpg","ian.jpg"];
let currentTime=document.querySelector(".time");

//Create an Object of Audio

let audio = new Audio();
let currentSong = 0;

// whenever the window load, the song should play automatically

window.onload = playSong;

// let's play the song by this function whenever window load

function playSong() {
  audio.src = audios[currentSong];
  audio.play();
}
 

введите описание изображения здесь

Я также проверил другие вопросы, которые возникли в связи с этой проблемой, но у меня ничего не работает, или, по крайней мере, я так думаю. Я в начале, и мне очень сложно понять, что мне нужно сделать, чтобы решить эту проблему.

Ответ №1:

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

 document.body.insertAdjacentHTML('beforeend', '<hidden style="display: none;"></hidden>');
document.querySelector('hidden').click();
// play audio
 

Комментарии:

1. Не работает function playSong() { audio.src = audios[currentSong]; document.body.insertAdjacentHTML('<hidden style="display: none;"></hidden>'); document.querySelector('hidden').click(); audio.play(); }

2. извините, но я не понимаю, что делать

3. Я забыл убедиться, что insertAdjacentHTML имеет два аргумента, поэтому замените ваш текущий код на новый.

4. в Интернете изучите мою работу с кодом, и песня начала idk, почему я не могу играть в chrome или opera

5. потому что в браузерах chromium больше мер безопасности. Сработал ли новый код?