尝试使用switch case通过相同的函数javascript播放不同的音频 var音频; 函数initAudioPlayer(){ 音频=新音频(); Eplay=document.getElementById(“E”); Eplay.addEventListener(“单击”,播放暂停(“播放”)); Aplay=document.getElementById(“A”); Aplay.addEventListener(“单击”,播放暂停(“播放”)); 开关(音频){ 案例“playE”: audio.src=“sound/Eguitar.mp3”; 打破 案例“playA”: audio.src=“sound/A-guitart.mp3”; 打破 默认值:audio.src=“sound/highE guitart.mp3”; } 函数playPause(){ 如果(音频暂停){ 音频播放(); }否则{ audio.pause(); } } } window.addEventListener(“加载”,initAudioPlayer); E A. >大宗报价

尝试使用switch case通过相同的函数javascript播放不同的音频 var音频; 函数initAudioPlayer(){ 音频=新音频(); Eplay=document.getElementById(“E”); Eplay.addEventListener(“单击”,播放暂停(“播放”)); Aplay=document.getElementById(“A”); Aplay.addEventListener(“单击”,播放暂停(“播放”)); 开关(音频){ 案例“playE”: audio.src=“sound/Eguitar.mp3”; 打破 案例“playA”: audio.src=“sound/A-guitart.mp3”; 打破 默认值:audio.src=“sound/highE guitart.mp3”; } 函数playPause(){ 如果(音频暂停){ 音频播放(); }否则{ audio.pause(); } } } window.addEventListener(“加载”,initAudioPlayer); E A. >大宗报价,javascript,audio,switch-statement,Javascript,Audio,Switch Statement,有人能告诉我我做错了什么吗? 我想做一个吉他调谐器 尝试在不同情况下更改audio.src。您的switch语句应该位于从Eplay和Aplay元素上的click事件调用的函数中 在事件处理函数调用中,传递字符串“playE”或“playA”,因此需要将该参数添加到函数定义中,以便使用它。试着这样做: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /&

有人能告诉我我做错了什么吗? 我想做一个吉他调谐器
尝试在不同情况下更改audio.src。

您的switch语句应该位于从Eplay和Aplay元素上的click事件调用的函数中

在事件处理函数调用中,传递字符串“playE”或“playA”,因此需要将该参数添加到函数定义中,以便使用它。试着这样做:

<!DOCTYPE html> 
<html lang="en">
    <head>
        <meta charset="utf-8" />     
  <script>
   var audio;
   function initAudioPlayer() {
    audio = new Audio();
       Eplay = document.getElementById("E");
       Eplay.addEventListener("click", playPause("playE"));

      Aplay = document.getElementById("A");
       Aplay.addEventListener("click", playPause("playA"));
               switch (audio) {
                             case "playE":               
                      audio.src = "sound/Eguitar.mp3";
                                break;
                           case "playA":
                                 audio.src = "sound/A-guitar.mp3";
                               break;                                
                 default:  audio.src = "sound/highE-guitar.mp3";
                         } 
                 function playPause() {

                     if (audio.paused) {

                         audio.play();

                     } else {
                         audio.pause();    
                     }
             }
           }
             window.addEventListener("load", initAudioPlayer);
         </script>
    </head>
    <body>                  
        <div class="guitar">
        <button id="E">E </button>
       <button id="A">A </button>

        </div>

    </body>
</html>

> Blockquote
1) playPause函数的签名中需要一个参数。比如,
函数播放暂停(和弦){

2) 您的
开关(音频)
块在页面加载时只运行一次。您希望它在用户每次单击播放/暂停按钮时运行,对吗

将该块移动到
playPause()
函数

3) 修复用于
开关
块的变量

请参阅下面的代码,并修复以下问题:

function playPause(note) {
    switch(note) {
        case "playE" : 
            // Set audio src...
        break;
        case "playA" : 
            // Set audio src...
        break;
    }
    // Play or pause audio
}

尝试使用以下方法:另外,您的开关没有接受任何值,并且您的函数playPause()传递要使用的参数

var音频、Eplay、Aplay;
函数initAudioPlayer(){
Eplay=document.getElementById(“E”);
addEventListener(“单击”,函数(){playPause(“playE”);});//添加回调
Aplay=document.getElementById(“A”);
Aplay.addEventListener(“单击”,函数(){playPause(“playA”);});//添加回调
}
函数playPause(audio1){//在此传递参数
警报(音频1);
音频=新音频();
开关(音频1){
案例“playE”:
audio.src=“sound/Eguitar.mp3”;
打破
案例“playA”:
audio.src=“sound/A-guitart.mp3”;
打破
默认值:audio.src=“sound/highE guitart.mp3”;
} 
如果(音频暂停){
音频播放();
}否则{
audio.pause();
}
}
window.addEventListener(“加载”,initAudioPlayer);

E
A.

阅读如何工作可能会有所帮助?谢谢,现在它可以工作了,但由于某些原因音频不会暂停
var audio;
function initAudioPlayer() {
    audio = new Audio();
    Eplay = document.getElementById("E");
    Eplay.addEventListener("click", playPause("playE"));
    Aplay = document.getElementById("A");
    Aplay.addEventListener("click", playPause("playA"));
    function playPause(chord) {
         switch (chord) {
            case "playE":               
              audio.src = "sound/Eguitar.mp3";
              break;
            case "playA":
              audio.src = "sound/A-guitar.mp3";
              break;                                
            default:  audio.src = "sound/highE-guitar.mp3";
         } 
         if (audio.paused) {

             audio.play();

         } else {
             audio.pause();    
         }
    }   
}
window.addEventListener("load", initAudioPlayer);