簡體   English   中英

聲音無法在Cordova和Phaser中播放

[英]Sound not playing with cordova and Phaser

我遵循了一個簡單的教程,使用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插件的本地聲音與phaser js集成在一起。 1.創建一個cordova項目2.添加android平台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=zh_CN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM