Звук не воспроизводится в JS - PullRequest
0 голосов
/ 15 декабря 2018

У меня была проблема, когда звук не воспроизводился.Я пытаюсь воспроизвести случайный звук, но ничего не происходит, когда я нажимаю на изображение (которое имеет onclick="playRandomSound()").Это мой код.

var sound1 = new Audio("InDeed.wav");
var sound2 = new Audio("Indeed2.wav");
var sound3 = new Audio("Yeeees.wav");
var sound4 = new Audio("girl_shut_up.wav");
var sound5 = new Audio("imhmmm.wav");
var randomizer;
function playRandomSound(){
    randomizer = Math.floor(Math.random()*5);
    if (randomizer === 0){
        sound1.play();
    } else if (randomizer == 1){
        sound2.play();
    } else if (randomizer == 2){
        sound3.play();
    } else if (randomizer == 3){
        sound4.play();
    } else if (randomizer == 4){
        sound5.play();
    }
}
body {
  background: white;
}
#rokas {
  height: 100vh;
}
<HTML>
  <HEAD>
    
  </HEAD>
  <BODY>
    <img src="https://i.imgur.com/4lO3dpT.jpg" id="rokas" onclick="playRandomSound()">
  </BODY>
</HTML>

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Добавьте тег ...

<audio id="audioPlaceHolder" src="InDeed.wav" autostart="false" ></audio>

Вы можете динамически изменить src из вашего JavaScript.

Для воспроизведения ...

var sound = document.getElementById('audioPlaceHolder');
sound.play();

наслаждайтесь!

0 голосов
/ 15 декабря 2018

Пожалуйста, попробуйте обновить ваш код следующим образом:

html:

<audio style="display: none;" id="sound"></audio>

js:

function playRandomSound () {
  var sound = document.getElementById('sound');
  randomizer = Math.floor(Math.random()*5);

  if (randomizer === 0){
    sound.src = sound1;
  } else if (randomizer == 1){
    sound.src = sound2;
  } else if (randomizer == 2){
    sound.src = sound3;
  } else if (randomizer == 3){
    sound.src = sound4;
  } else if (randomizer == 4){
    sound.src = sound5;
  }
  sound.load();
  sound.play();  
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...