2012-02-22 85 views
0
<audio id="playmysong" src="/media/click.wav" /> 
<input type="button" onclick="playMe();"/> 
<script type="text/javascript"> 
    function playMe(){ 
     var obj = $("playmysong"); 
     obj.play(); 
    } 
</script> 

此代碼在我第一次點擊時有效。此代碼仍然有效,如果我等待大約4-5秒後再點擊一下,再點擊一次,就可以再次點擊。但是當我先點擊並在1秒內再次點擊後,它就不會播放聲音。此代碼適用於Google Chrome瀏覽器僅適用於Firefox的問題。HTML5的音頻標籤在Firefox中並不一致工作

回答

0

如果您正在使用jQuery: 變化

var obj = $("playmysong"); 

var obj = $("#playmysong").get(0); 

進一步說,嘗試使用play()和暫停():

function audioToggle(){ 
    var obj = $("#playmysong").get(0); 
    if(obj.paused) obj.play() else obj.pause(); 
} 
+0

我正在使用原型。但是這並不能解決我的問題。當我把分手和跟蹤JavaScript代碼使用螢火蟲。每次它都會發出聲音。所以我不知道可能是什麼問題,它在正常情況下無法正常工作。 – PRP 2012-02-22 19:49:57

+0

@PRP如果您可以將代碼放在網絡某處,我可以幫助您進一步瞭解這一點。 – jonycheung 2012-02-22 21:09:42

+0

我稍微改變了這段代碼,現在我改變了 var obj = $(「playmysong」); into var obj = $(「playmysong」)。cloneNode(true); 這解決了我的問題。但我不確定這是否正確。 在我的代碼上提供一些細節

0

一旦我使它對我工作的DOM對象克隆

var obj = $("playmysong").cloneNode(true); 

現在工作在兩個FF和Chrome

0

<!DOCTYPE html>

<html> 
    <head> 
<style> 

</head> 
    <body> 
<audio id="audio_with_controls" controls autobuffer > 
    <source src="http://www.wav-sounds.com/various/beep.wav" type="audio/wav" /> 
     Audio tag not supported 
</audio> 
<!-- some actions from Javascript --> 
<button id="play">Play</button> 
<button id="play2">Play2</button> 
<button id="pause">Pause</button> 
<button id="duration">Show duration</button> 
<div id="duration-log"></div> 
<script> 
    var song = document.getElementById('audio_with_controls'); 
    document.getElementById('play').addEventListener('click', function() { song.play(); }, false); 
    document.getElementById('play2').addEventListener('click', function() { song.play(); }, false); 
    document.getElementById('pause').addEventListener('click', function() { song.pause(); }, false); 
    document.getElementById('duration').addEventListener('click', function() { document.querySelector('#duration-log').textContent = song.duration; }, false); 
</script> 

精細你可以看到這個代碼,並在瀏覽器中運行。你可以看到它與FF和Chrome的區別。特別是當聲音播放完成時,請看滑塊。在FF中卡住,幾秒鐘後結束。這是我在我的應用程序中遇到的問題。