音楽ファイルが送れない
Q&A
Closed
解決したいこと
下記のコードのようにしてpublicに入っている音楽ファイルのパスをBattleMode.javaのindex(String name, String bgm)に送りたいのですが上手くいきません。送り方はあっているでしょうか?
encodedNameだけを送るときは正常に送れています。
該当するソースコード
// Edit>index.html
<select name="BGM" class="battle-bgm">
<option value="../../../public/music/ジム戦.mp3">ジム戦</option>
</select>
<button class="edit-footer-btn" id="battle-start">バトルスタート!</button>
<script>
const battleStartBtn = document.getElementById("battle-start");
const selectedBGM = document.querySelector(".battle-bgm").value;
battleStartBtn.addEventListener("click", () => {
window.location.href = "/BattleMode/index.html/" + encodedName + "/" + selectedBGM;
});
</script>
//encodedNameには正常なデータが入っています
ルーティング設定
GET /BattleMode/index.html/{name}/{bgm} BattleMode.index
ちなみに
public class BattleMode extends Controller {
public static void index(String name, String bgm) {
render(bgm);
}
でbgmをindex.htmlに渡して
// BattleMode>index.html
<audio class="battle-bgm" loop src="${bgm}"></audio>
<script>
const battleBGM = document.querySelector(".battle-bgm");
window.addEventListener("DOMContentLoaded", () => {
battleBGM.play();
});
</script>
上記のように再生しようとしています
0