2012-02-22 19 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); 

にさらに行く、(遊びを使用しよう)と(一時停止):

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

私はプロトタイプを使用しています。しかし、これは私の問題を解決しません。私は分割を入れ、firebugを使ってjavascriptコードを追跡します。音が出るたびに。だから私はそれが正常な状態で正常に動作しないという問題が何であるか分からない。 – PRP

+0

@PRPコードをウェブ上のどこかに置くことができれば、これをさらに詳しく見ることができます。 – jonycheung

+0

このコードを少し変更して今変更しました var obj = $( "playmysong"); 〜 var obj = $( "playmysong")。cloneNode(true); これで問題が解決しました。しかし、これが正しいかどうかは分かりません。 私のコードの詳細を提供するには

0

I一度それは私のためにうまくいったDOMオブジェクトのクローンを作成する

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

は、今ではあなたはこのコードを見ると、ブラウザ内で実行することができます

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とChromeとの違いを見ることができます。サウンド再生が完了したら、特にスライダーが見えます。 FFでは、途中で立ち往生し、数秒後に終了します。これが私のアプリケーションで問題になっています。

関連する問題