Как изменить значение переменной аудиофайла при вызове функции для воспроизведения аудиофайла в Vanilla JavaScript? - PullRequest
0 голосов
/ 30 апреля 2019

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

Я пытаюсь сделать это, написав СУХОЙ код. Как изменить переменное значение звука при вызове функции для воспроизведения звукового файла?

У меня есть попытка изменить var sound = New Audio('filepath');перед вызовом функции playSound(), но она не работает.

var sound = new Audio('assets/sounds/clap.wav');
// function to play sounds
function playSound() {
  sound.play();
}

// adds event listener & checks keyboard to play different sounds
document.addEventListener('keydown', function(event){
  if(event.keyCode == 65){
    playSound();
  } else if ( event.keyCode == 83 ) {
    playSound();
  }
  else if( event.keyCode == 68 ) {
    playSound();
  }
  else if( event.keyCode == 70 ) {
    playSound();
  }
});

1 Ответ

1 голос
/ 30 апреля 2019

Вы можете передать путь к файлу в условных выражениях и назначить путь к аудиофайлу в функции следующим образом:

var sound = new Audio('assets/sounds/clap.wav');

function playSound(filepath) {
  sound.src = filepath;
  sound.play();
}

// adds event listener & checks keyboard to play different sounds
document.addEventListener('keydown', function(event){
  if(event.keyCode == 65){
    playSound('somefilepath');
  } else if ( event.keyCode == 83 ) {
    playSound('somefilepath');
  }
  else if( event.keyCode == 68 ) {
    playSound('somefilepath');
  }
  else if( event.keyCode == 70 ) {
    playSound('somefilepath');
  }
});
...