Android 不使用cordova和Phaser播放声音

Android 不使用cordova和Phaser播放声音,android,cordova,phaser-framework,Android,Cordova,Phaser Framework,我按照一个简单的教程使用Phaser创建了一个游戏,并且我修改了所有的文件和目录,使它可以与cordova一起工作,这样它就可以在Android上工作。问题是在浏览器上播放的声音在手机上没有播放。我读到我应该使用cordova媒体API,所以我添加了它,但在运行游戏时出现错误“媒体未定义”。 这是我链接到index.html中js文件的顺序: <script type="text/javascript" src="cordova.js"></script> <scr

我按照一个简单的教程使用Phaser创建了一个游戏,并且我修改了所有的文件和目录,使它可以与cordova一起工作,这样它就可以在Android上工作。问题是在浏览器上播放的声音在手机上没有播放。我读到我应该使用cordova媒体API,所以我添加了它,但在运行游戏时出现错误“媒体未定义”。 这是我链接到index.html中js文件的顺序:

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/phaser.min.js"></script>
<script type="text/javascript" src="js/index.js"></script>
在跳转函数中:

jump: function() {
    window.audio.play();
}

我不明白是什么问题。

您需要将cordova插件原生声音与phaser js集成。 1.创建cordova项目 2.添加android平台 3.添加插件本地声音

cordova插件添加cordova插件nativeaudio

要使用它: 您还需要播放开始和停止循环声音以避免错误 以下是我为您捕获的小代码:

在index.html文件中声明所有全局变量和相位器游戏状态 "

我可以通过下载这个示例游戏给出您的完整代码,这证明了我所提到的。这个游戏由phaser js和cordova制作


您是在设备就绪后加载的吗?您是说cordova.js吗?我没有使用在cordova中默认的DeviceRady事件,因为Phaser不需要它。但是您使用cordova api!任何cordova Api都只能在设备就绪后使用,因为它是wav!你试过mp3吗!一个月前,我在使用wav时遇到问题,然后我将其更改为MP3。这是DeviceRady事件没有正确设置。谢谢你的帮助。
jump: function() {
    window.audio.play();
}
var HomeState;
var LevelState;
    var GameOver;
    var GameWinner;
    var GameState;
    var CreditState;
    var ShareState;
    var SellState;

    var app;
    enter code here

create app  class object
create 3 main method for audio function

    playNativeSoundLoop:function(keyid)
    {
     window.plugins.NativeAudio.loop(keyid);

    },
    playNativeSound:function(keyid)
    {
     window.plugins.NativeAudio.play(keyid);        
    },
    stopNativeSound:function(keyid)
    {
     window.plugins.NativeAudio.stop(keyid);
    //window.plugins.NativeAudio.unload(keyid);  
    }
'