声音没有播放cordova和Phaser

时间:2015-05-25 21:00:56

标签: android cordova phaser-framework

我按照一个简单的教程使用Phaser创建游戏,我修改了所有文件和目录,使其与cordova一起使用,以便在Android上运行。问题是在浏览器上播放的声音没有在手机上播放。我读到我应该使用cordova Media API,所以我添加了它,但是我收到了错误" Media未定义"在运行游戏时。 这是我链接到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>

我在移相器的预加载功能中创建音频变量,如下所示:

preload: function() { 
    var audio = new Media('/android_asset/www/img/assets/jump.wav');
}

在跳转功能中:

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

我无法理解问题是什么。

1 个答案:

答案 0 :(得分:0)

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

  

cordova插件添加cordova-plugin-nativeaudio

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

在index.html文件中声明所有全局变量和Phaser游戏状态 &#39;

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

我可以通过下载这个示例游戏来提供您的完整代码,这证明了我提到的内容。这个游戏由phaser js和cordova制作纯粹

https://play.google.com/store/apps/details?id=com.s2team.blindmaze&hl=en