ventajas tutorial instalar examples espaƱol desventajas como javascript cordova audio meteor

javascript - tutorial - Meteor DOMception: no se pueden decodificar datos de audio



meteor ventajas y desventajas (2)

EDITAR: Acabo de crear un nuevo Meteor Project y funcionó: D wow. Pero todavía no funciona en mi proyecto principal ... parece que tengo diferentes configuraciones.

En mi proyecto Meteor.js tengo 4 archivos .mp3 ubicados en public/sounds/xyz.mp3 . Yo cargo estos .mp3 con:

let soundRequest = new XMLHttpRequest(); soundRequest.open(''GET'', this._soundPath, true); soundRequest.responseType = ''arraybuffer''; let $this = this; soundRequest.onload = function () { Core.getAudioContext().decodeAudioData(soundRequest.response, function (buffer) { $this.source.buffer = buffer; $this.source.loop = true; $this.source.connect($this.panner); }); }; soundRequest.send();

Esto FUNCIONA en google Chrome , pero cuando construyo la aplicación a través de meteor run android-device , DOMException: Unable to decode audio data el siguiente mensaje de error: DOMException: Unable to decode audio data Me pregunto si esto es un error porque cargar .png o .jpg funciona bien en la versión móvil. No he instalado ningún paquete al lado de meteor add crosswalk pero desinstalar esto tampoco ayuda.



No debería necesitar hacer una solicitud http para obtener un recurso local. Puede referirse a una url local. En el dispositivo Android, la ruta es diferente. Vea este código:

function getSound(file) { var sound = "/sounds/"+file; if (Meteor.isCordova) { var s; if (device.platform.toLowerCase() === "android") { sfile = cordova.file.applicationDirectory.replace(''file://'', '''') + ''www/application/app'' + sound; } else { sfile = cordova.file.applicationDirectory.replace(''file://'', '''') + sound; } var s = new Media( sfile, function (success) { console.log("Got sound "+file+" ok ("+sfile+")"); s.play(); }, function (err) { console.log("Get sound "+file+" ("+sfile+") failed: "+err); } ); } else { var a = new Audio(sound); a.play(); } }

En un dispositivo, carga el archivo de sonido de forma asíncrona y luego lo reproduce. En el navegador solo carga y juega sincrónicamente.