Jeu sonore locale dans phonegap
J'ai un .wav
fichier dans mon www
dossier. Je suis à l'aide de jQuery avec le code suivant. Les alertes éteint, mais le son ne joue pas. Suis-je en train de faire quelque chose de mal?
<script type="text/javascript" charset="utf-8" src="phonegap-0.9.2.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery.js"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function () {
window.alert("READY!");
document.addEventListener("deviceready", onDeviceReady, true);
function onDeviceReady(){
window.alert("OK@!");
var snd = new Media("test.wav");
snd.play();
}
});
</script>
Le son ne vient pas jouer.
Vous devez vous connecter pour publier un commentaire.
Essayer de donner un absolu chemin d'accès local. E. g.
nouveaux Médias("/android_asset/www/test.wav");
Qui devrait fonctionner sur Android. Espérons qu'ils vont résoudre ce problème dans PhoneGap, que c'est quelque chose d'un bogue dans le cross-device support.
Vous pouvez utiliser
window.location.pathname
pour obtenir le chemin d'accès de votre application dans l'app PhoneGap. De cette façon, vous n'avez pas à coder en dur pour Android. Il ressemblera à quelque chose comme ceci sur iPhone:Et ce sur Android:
Bande de hors la
/index.html
, ajouterfile://
, et l'ajouter à votre fichiertest.wav
.Démo: http://jsfiddle.net/ThinkingStiff/r7eay/
Code:
phonegap serve
au lieu de l'installation de l'application au niveau local?// Get absolute file path on the device. function getPhoneGapPath() { var path = window.location.pathname; var sizefilename = path.length - (path.lastIndexOf("/")+1); path = path.substr( path, path.length - sizefilename ); return path; };
J'ai une autre version de getPhonegapPath, il détecte lorsque vous r'utilisant Android: