2016-06-11 125 views
-1
<!DOCTYPE html> 
<html> 
<body> 

<img id="myImage" onclick="aud_play_pause()" src="../../images/off.png" alt=""/> 

<audio id="myAudio"> 
</audio> 

<script> 
    function aud_play_pause() 
    { 
     var song = ["../Sesler/3.mp3"]; 
     var myAudio = document.getElementById("myAudio"); 
     var image = document.getElementById('myImage'); 
     myAudio.src = song; 
     if (myAudio.paused) 
     { 
      image.src = "../../images/on.png"; 
      myAudio.play(); 
     } 
     else if(image.src.match("on")) 
     { 
      image.src = "../../images/off.png"; 
      myAudio.pause(); 
     } 
    } 
</script> 

</body> 
</html> 

嗨,的HTML和Javascript音頻播放和停止按鈕

我不明白爲什麼這是行不通的。當我點擊(它開始)時,它應該開始,並且當我再次點擊時(它不會),我們會假設它會發生。我認爲「else if」聲明不起作用,但爲什麼?

感謝,

H.卡格拉

+0

這不是Java,它是Javascript。如果你不知道它們的區別,那麼網站上的每一個wiki都會提供幫助, –

+0

謝謝你的好意Rachel。我會遵循你的建議。 – Caglar

+0

我編輯了標題。對不起,造成誤解。 – Caglar

回答

0

您音頻的src每次按鈕上的用戶點擊設置。然後在加載後直接啓動。移動它的功能之外,並且不使用陣列[...],但是隻有串:

myAudio.src = "../Sesler/3.mp3"; 

然後,else(沒有另一條件)應足以播放和暫停之間進行區分:

if (myAudio.paused) { 
    image.src = "../../images/on.png"; 
    myAudio.play(); 
} else { 
    image.src = "../../images/off.png"; 
    myAudio.pause(); 
} 
+0

感謝您回答Joachim。我做了你所說的,但沒有奏效。按鈕效果正在工作,但音頻甚至沒有播放。 – Caglar

+0

您是否已將該作業移至函數外部的'myAudio.src'?看我的小提琴https://jsfiddle.net/1Lha66vp/看到一個工作的例子。 –

+0

這似乎不知怎麼我忘了添加在下面引號的引號。感謝您的全力幫助。它正在完美工作=) 「document.getElementById(」myImage「)。onclick = aud_play_pause;」 – Caglar