【问题标题】:Sound not playing with cordova and Phaser声音不与cordova和Phaser一起播放
【发布时间】:2015-08-07 09:12:12
【问题描述】:

我按照一个简单的教程使用 Phaser 创建了一个游戏,并且我修改了所有文件和目录以使其可以与 cordova 一起使用,以便它可以在 Android 上运行。问题是在浏览器上播放的声音没有在手机上播放。我读到我应该使用cordova Media 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>

我正在像这样在移相器的预加载函数中创建音频变量:

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

并在跳转函数中:

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

我不明白问题出在哪里。

【问题讨论】:

  • 你在设备准备好后加载了吗?
  • 你说的是cordova.js吗?我没有使用cordova中默认的deviceready事件,因为Phaser不需要它。
  • 但是你使用的是cordova api!只有在设备准备好后才能使用任何cordova Api
  • 天哪,这是 wav!你试过mp3吗!一个月前我在使用 wav 时遇到问题,然后我将其更改为 mp3
  • 这是未正确设置的 deviceready 事件。感谢您的帮助。

标签: android cordova phaser-framework


【解决方案1】:

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

cordova 插件添加cordova-plugin-nativeaudio

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多