javascript — песня не воспроизводилась, когда URL не пуст

Я очень запутался и застрял, создавая музыкальную игру с использованием инфраструктуры Phaser js.

Мне нужен путь аудио, который сохранен в localhost. Чтобы получить этот путь, я использую AJAX. Вот мой код AJAX в фазере:

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();
}

И вот мой getsong.php

<?php

$path = "asset/audio/music/1.mp3";
echo ($path);
?>

xmlhttp.readyState а также xmlhttp.status верните 4 и 200 через некоторое время и предупредите об успехе. Но песня все еще не играла, вот скриншот.

Стоп-текст является предупреждением о том, что песня не воспроизводилась.

Я не могу понять, почему он не играл даже этот вар pathsong не является нулевым
Я новичок в Phaser и все еще учусь программированию.
Пожалуйста, не вините меня, и извините, если мой английский плохой. Я очень стараюсь объяснить. ^^ v

1

Решение

Вероятно, вы должны запустить преднагрузки () Метод сразу после переопределения pathsong переменная, когда ответ AJAX был успешно получен.

Попробуй добавить preload(); после линии pathsong = xmlhttp.responseText;

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]