gpt4 book ai didi

javascript - 当网址不为空时歌曲无法播放

转载 作者:行者123 更新时间:2023-11-28 06:09:21 25 4
gpt4 key购买 nike

我真的很困惑,并且陷入了使用 Phaser js 框架构建音乐游戏的困境。

我需要保存在本地主机中的音频路径。为了获得该路径,我使用 AJAX。这是我在 Phaser 中的 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.readyStatexmlhttp.status一会儿返回4和200,并给出成功警报。但歌曲仍然没有播放,这是它的屏幕截图。

The stop text is an alert that the song didn't play.

我不明白为什么它没有播放,即使 var pathsong 不为空。我是 Phaser 的新手,仍在学习编程。请不要责怪我,如果我的英语不好,请抱歉。我真的很努力地在解释。 ^^v

最佳答案

当成功收到 AJAX 响应时,您可能应该在重新定义 pathsong 变量后立即运行 preload() 方法。

尝试在 pathsong = xmlhttp.responseText; 行之后添加 preload();

关于javascript - 当网址不为空时歌曲无法播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36558308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com