Я действительно запутался и застрял в создании музыкальной игры с использованием фреймворка Phaser js.
Мне нужен звук пути, который сохранен на локальном хосте. Чтобы получить этот путь, я использую AJAX. Вот мой код AJAX в Phaser:
function preload()
{
game.load.audio('song', pathsong);
}
function getSong()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
pathsong = xmlhttp.responseText;
alert("succes");
alert(pathsong);
}
else
{
alert(xmlhttp.readyState);
alert(xmlhttp.status);
}
};
xmlhttp.open("GET", "getsong.php" , true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send();
}
А вот и мой getong.php
<?php
$path = "asset/audio/music/1.mp3";
echo ($path);
?>
xmlhttp.readyState
и xmlhttp.status
возвращают 4 и 200 через некоторое время и выдают предупреждение об успехе. Но песня так и не заиграла, вот скриншот.
Текст остановки – это предупреждение о том, что песня не воспроизводится.
Я не могу понять, почему он не играл, даже если var pathsong
не равен нулю. Я новичок в фазере и все еще изучаю программирование. Пожалуйста, не вините меня, и извините, если мой английский плохой. Я очень стараюсь объяснить. ^^v