#前提・実現したいこと
私は、JavaScriptとHTMLの音楽再生をするページを作っています。
そこで、再生ボタンを何度も押せば、ずっと重なって音楽が再生できるということになってしまいます。
なので、それを防止すべく、変数による制御を加えてみたのですが、なぜか今まで通り再生できてしまいます。
#コード
JavaScriptとHTMLが混ざっています。
<!DOCTYPE HTML> <html> <head> <script> var music = new Audio('intro.mp3'); music.addEventListener("ended", function () { music.pause(); console.log('音楽終わり\nmusic2の再生!!'); music2(); }, false); function music2(){ var music2 = new Audio('naka1.mp3'); music2.play(); console.log('music2の再生'); music2.addEventListener("ended", function () { music2.pause(); console.log('音楽終わり\nmusic3の再生!!'); music3(); }, false); } function music3(){ var music3 = new Audio('naka2.mp3'); music3.play(); music3.addEventListener("ended", function () { music3.currentTime = 0; music3.play(); console.log('ループ中...'); }, false); } function start() { if (started == undefined){ var started; music.play(); console.log('[再生]'); var started = "abc"; }else{ aleat("再生中..."); } } //setTimeout(function(){ //music.pause(); //}, 30000); </script> <meta charset=UTF-8> <title>TEST</title> <body bgcolor=#bdbdbd> </head> <body> <center><button onclick="start()" style="padding:18px;">再生</button></center> </body> </html>
#試したこと
変数を使ってみる→なぜかできない。
回答3件
あなたの回答
tips
プレビュー