form
を送り続けながら、BGM
が流れるように設定したいのですが、form
を送ると
audioタグ
で設定した音楽が送るごとに最初の位置に戻って再生されてしまいます。
audioタグ
で作成したBGM
をJS
から流すように設定いたしましたが、改善されませんでした。
test
1 2<form action="test.php" method="post"> 3<input type="submit" value="test" name="test" > 4</form> 5 6<h1> 7<?php 8 9//$randはform送信後の送信確認用に定義しております。 10function test(){ 11 $rand = rand(100,10000); 12 return $rand; 13} 14 15if(isset($_POST["test"])){ 16 echo test(); 17} else { 18 echo "テストを開始する"; 19} 20 21?> 22</h1> 23 24//JSから再生予定のためmutedにしております。 25<audio id="audio" muted> 26<source src="sample.mp3" type="audio/mp3"> 27<source src="sample.wav" type="audio/wav"> 28</audio> 29 30 31<script type="text/javascript"> 32var audio = new Audio("sample.mp3"); 33 34function play() { 35 audio.loop = true; 36 audio.volume = 0.1; 37 audio.play(); 38} 39 40play(); 41 42</script> 43
結果として、ページに移動した直後からJS
で設定した音量で音楽は再生されますが、form
のsubmitボタン
を押すたびに、音楽が初めの位置に戻ってしまいます。
form
送信による処理にJS
等全てが引っ張られてしまって、同じタイミングで読み込まれてしまっているためなのでしょうか。
できればaudioタグ
の箇所は独立させて、form
の処理とは無関係に動いて欲しいのですが改善方法がわかりませんでした。
十分な説明ができておらず恐縮ですが、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー