![](/img/trans.png)
[英]Howler JS 2.0 - sound is not playing on cordova, android, device
[英]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.