[英]PhoneGap Android LowLatencyAudio plugin doesn't work
I'm building a mobile game with HTML5 and Javascript, for Android devices. 我正在为Android设备构建带有HTML5和Javascript的手机游戏。
Android doesn't support HTML5 Audio, that's why i've choose to use a phonegap plugin : https://github.com/phonegap/phonegap-plugins/tree/master/Android/LowLatencyAudio Android不支持HTML5音频,这就是为什么我选择使用phonegap插件的原因: https : //github.com/phonegap/phonegap-plugins/tree/master/Android/LowLatencyAudio
My structure is very simple, i've got 3 objects. 我的结构非常简单,我有3个对象。
Here, my index.html file : 在这里,我的index.html文件:
<!DOCTYPE HTML>
<html>
<head>
<title>Test</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="assets/css/style.css">
<script type="text/javascript" charset="UTF-8" src="cordova.js"></script>
<script type="text/javascript" charset="UTF-8" src="PGLowLatencyAudio.js"></script>
<script type="text/javascript" charset="UTF-8" src="assets/js/src/pixi.js"></script>
<script type="text/javascript" charset="UTF-8" src="assets/js/game.js"></script>
<script type="text/javascript" charset="UTF-8" src="assets/js/sound.js"></script>
<script type="text/javascript" charset="UTF-8" src="assets/js/animation.js"></script>
<script type="text/javascript" charset="UTF-8">
function onDeviceReady(){
PGLowLatencyAudio.preloadFX('drum','assets/son/drum/drumPiste1.mp3', game.sound.successHandler, game.sound.errorHandler);
};
function onBodyLoad(){
document.addEventListener("deviceready",onDeviceReady,false);
};
</script>
</head>
<body onload="onBodyLoad()">
<div id="wrapper"></div>
<script type="text/javascript" charset="UTF-8">
game.init();
game.sound.init();
game.animation.init();
</script>
</body>
I'm using the PGLowLatencyAudio.preloadFX
function of the plugin, to preload my mp3 file. 我正在使用插件的
PGLowLatencyAudio.preloadFX
函数来预加载我的mp3文件。
After, I call my init
function of my object sound, which is like that : 之后,我调用对象声音的
init
函数,就像这样:
game.sound = {
init: function(){
soundsArray = [];
game.sound.playSound();
},
successHandler: function(result){
alert(result);
},
errorHandler: function(error){
alert(error);
},
playSound: function(){
PGLowLatencyAudio.play('drum', game.sound.successHandler, game.sound.errorHandler);
},
};
In my init
function, i call my playSound
function, to play the sound i've previously preload. 在我的
init
函数中,我调用了playSound
函数,以播放以前预先加载的声音。
It try to play sound before preload, but i don't understand why. 它尝试在预加载之前播放声音,但是我不明白为什么。
Error message is : A reference does not exist for the specified audio id
. 错误消息是:
A reference does not exist for the specified audio id
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.