2017-12-03 10 views
1

シンプルなオーディオプレーヤーを作ろうとしていますが、うまく動作しません。ここでオーディオプレーヤーのみ再生、停止しません

ではJavaScriptです:

var audio = document.getElementById("audio"); 
var isPlaying = false; 

function togglePlay(element) { 

    element.classList.toggle("playing"); 

    if (isPlaying) { 
    document.getElementById("audio").pause(); 
    document.getElementById("audio").currentTime = 0; 
    } else { 
    document.getElementById("audio").play(); 
    } 

} 

document.getElementById("audio").onplaying = function() { 
    var isPlaying = true; 
}; 

document.getElementById("audio").onpause = function() { 
    var isPlaying = false; 
}; 

私を助けてください!

答えて

0
var audio = document.getElementById("audio"); 
// use .paused instead 
// var isPlaying = false; 

function togglePlay(element) { 
    var promise; 

    if (!audio.paused) { /* isPlaying */ 
    audio.pause(); 
    audio.currentTime = 0; 
    element.classList.remove("playing"); 
    } else { 
    // play is not instant, it returns a promise 
    promise = audio.play(); 
    if (promise.then !== undefined) { 
     promise.then(function() { 
      element.classList.add("playing"); 
     }); 
    } else { /* old API */ 
     element.classList.add("playing"); 
    } 

    } 

} 

audio.onplaying = function() { 
    ; 
}; 

audio.onpause = function() { 
    ; 
}; 

<audio>ためのオーディオソースが実際のオーディオファイルであることを確認してください<body>

 <script>/* put script at the end of body */</script> 
    </body> 
</html> 

の終わりに<script>を入れていることを確認してください。 (オーディオを含むhtmlファイルではない)コンソールを開き、ネットワーク要求を調べる。

+0

'キャッチされない例外TypeError:プロパティを読み取ることができませんtogglePlay((インデックス):19)でヌル の '一時停止' HTMLImageElement.onclickで((インデックス):91)は' // Chromeは最初 –

+0

修正この行を言う、IあなたのHTMLを見ることができません 'var audio = document.getElementById(" audio ");'必ず

+0

すべては問題ありませんが動作しません! [私のウェブサイト](https://bernardovs23.neocities.org/)のソースコードを確認してください –

関連する問題