Я пытаюсь добавить mp3-файл в свое игровое меню, но я не могу заставить его играть, если не использую элементы управления и физически не нажимаю кнопку воспроизведения в браузере рядом с игровым холстом.
Я был на нескольких веб-сайтах и в учебных пособиях, так как знаю, что это общий вопрос, но я не могу заставить его работать.
До сих пор я пытался добавить
const audioObj = new Audio("/assets/menuTheme.mp3");
audioObj.play();
в мою игру. js файл в функции обновления, но это не сработало.
Я добавил к моему html файлу несколькими способами, например:
<audio id= 'menuAudio'>
<source src='/assets/menuTheme.mp3'>
</audio>
и
<audio controls autoplay loop>
<source id = 'menuAudio' src='/assets/menuTheme.mp3'/>
<embed src= '/assets/menuTheme.mp3' autoplay='autoplay' loop='loop'/>
</audio>
, затем вызывая его в моей игре. js file by
this.sound = document.getElementById('menuAudio');
this.sound.play();
Я даже нашел один ответ, чтобы создать функцию или класс для звука
sound = function(src) {
this.sound = document.createElement('audio');
this.sound.src = src;
this.sound.setAttribute('preload', 'auto');
this.sound.setAttribute('controls', 'none');
this.sound.style.display = 'none';
document.body.appendChild(this.sound);
this.play = function() {
this.sound.play();
}
this.stop = function() {
this.sound.pause();
}
}
Ничего не помогло, и я оступился, что еще делать. Я знаю, что файл поддерживается используемым браузером и правильно загружен, потому что он будет воспроизводиться, но не автоматически и не показывать панель управления.
Пожалуйста, помогите:)
РЕШЕНО:
всегда проверяйте, включено ли автоматическое воспроизведение в браузере ... * лицом к ладони *