2017-09-16 98 views
0

我有以下的HTML代码片段:播放音频当按钮被点击HTML的Django模板

<audio controls><source src="{{sound.sound.url}}" type="audio/mpeg" id="yourAudioTag">Your browser does not support the audio element.</audio> 
<button id="play">Play</button> 
<script> 
    $(document).ready(function() { 
     var audioElement = document.getElementById('#yourAudioTag'); 

     $('#play').click(function() { 
      audioElement.play(); 
     }); 
    }); 
</script> 

,但它似乎并没有播放音频时,我的按钮PLAY点击。 我该怎么做?

+0

'audioElement'在您单击时是否只是一个新的空元素?您可能想要选择现有的音频元素,而不是创建一个。 – ToothlessRebel

+0

我修改了它..它没有帮助! – Shefali

回答

0

您从未将音频文件分配给变量。在你的情况下,audioElement.play();没有任何玩法,因为它没有链接任何东西。

我的方法与您的方法稍有不同。我决定直接将音频文件放入JavaScript中。您可以波纹管检查:

纯JavaScript:

function Play_Audio(){ 
 
    var audioElement = document.createElement("audio"); 
 
    audioElement.src = "https://raw.githubusercontent.com/Metastruct/garrysmod-chatsounds/master/sound/chatsounds/autoadd/snoop_dogg/hold%20up%20wait.ogg"; 
 
    document.getElementById("Play_Button").addEventListener("click", function(music){ 
 
    audioElement.play(); 
 
    }, false); 
 
} 
 
Play_Audio();
<button id="Play_Button">Play</button>

的jQuery:

$(document).ready(function(){ 
 
    var audioElement = document.createElement("audio"); 
 
    audioElement.src = "https://raw.githubusercontent.com/Metastruct/garrysmod-chatsounds/master/sound/chatsounds/autoadd/snoop_dogg/hold%20up%20wait.ogg"; 
 
    $('#Play_Button').click(function(){ 
 
     audioElement.play(); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="Play_Button">Play</button>

以从音频标签的声音:

document.getElementById("Play").addEventListener("click", function(music){ 
 
    var audioElement = document.getElementById("Audio"); 
 
    audioElement.play(); 
 
}, false);
<audio id="Audio" controls> 
 
    <source src="https://raw.githubusercontent.com/Metastruct/garrysmod-chatsounds/master/sound/chatsounds/autoadd/snoop_dogg/hold%20up%20wait.ogg" type="audio/ogg"> 
 
</audio> 
 
<div id="Play">Play Button</div>

PS:我花了更多的时间来找到一个合适的音频比写代码片段....我想,我有问题!

+0

我无法给出音频的来源,因为它是以这种方式定义{{sound.sound.url}},所以我怎么能以任何其他方式做到这一点? – Shefali

+0

我试着做这个... var audioElement = document.getElementById('#yourAudioTag');但没用。 – Shefali

+0

在这个audioElement.src,如果我给任何src像“D:/student/bark.mp3”它似乎不工作.. – Shefali