2010-11-11 22 views
10

Hace un mes comencé a trabajar con phonegap, html5, css3 y jQtouch. Estoy trabajando en una aplicación y necesito reproducir el sonido en la aplicación. Tengo un problema serio con esta tarea. Primero descubrí que puedo reproducir archivos .mp3 a través de phonegap usando la nueva función de Medios (...). No estoy seguro de los archivos .wav, ¿puedo jugarlos? En segundo lugar, descubrí que los archivos deben tener menos de 30 segundos, ¿es así? Tercero No puedo encontrar el lugar correcto para mis archivos de sonido. Mi estructura del proyecto es el siguiente:Cómo reproducir canciones en Android - phonegap

project 
-- src 
-- gen 
-- assets 
-- -- www 
-- -- DANCE.mp3 
-- -- jqtouch 
-- -- -- (some folders and files) 
-- -- phonegap.js 
-- libs 
-- res 

He intentado colocar el archivo en la carpeta 'www' y la creación de uno nuevo llamado 'Audio'. Nada de esto me dio lo que quería. Estoy usando este código para la ejecución de la canción:

function playStream() { 
    mp3file = new Media("DANCE.mp3", 
      function() { 
       alert("playAudio():Audio Success"); 
      }, 
       function(err) { 
        alert(err); 
      } 
      ); 
      mp3file.play(); 
} 

que utilizan Android 2.1 simulador y he tratado de 2.2, así sin éxito. Espero haber sido lo suficientemente claro. Espero escuchar de usted. Atentamente, Mihail Velikov

Respuesta

18

PhoneGap para Android le permite almacenar archivos de audio locales en dos lugares: android_asset: nombre del archivo debe comenzar con /android_asset/sound.mp3 sdcard: nombre del archivo es sólo sound.mp3

Si coloca su DANZA archivo .mp3 en el directorio de los activos de su proyecto, entonces se puede jugar utilizando la ruta: (. puede leer la fuente de AudioPlayer.java en las fuentes de Android PhoneGap para ver cómo funciona esto)

mp3file = new Media("/android_asset/DANCE.mp3", 
     function() { 
      alert("playAudio():Audio Success"); 
     }, 
      function(err) { 
       alert(err); 
     } 
     ); 
     mp3file.play(); 

+0

¡Gracias! Esta información fue difícil de encontrar por alguna razón. Su respuesta debe estar marcada como la respuesta correcta IMO. –

+0

Sure Jack, creo que tienes razón. Ha pasado bastante tiempo que terminé ese proyecto. Gracias por su respuesta –

+0

¿Esto significa que no puede tener su medio en carpetas, que debe estar en la raíz para trabajar? – nycynik

0

¿por qué no toca las canciones con el HTML 5 audio tag? Tu vista es una vista web ... no debería importar, es más simple y tienes más control.

+0

Como Hasta donde yo sé, la etiqueta

+0

La etiqueta de audio es compatible con 2.1 y 2.2. Pero ... no es compatible con ningún formato de audio. – timing

+0

Creo que el viejo html5 no se relaciona con el comportamiento de reproducción de audio nativo, como continuar la reproducción cuando el dispositivo se queda dormido. – BraveNewMath

1

He descubierto dónde fue mi error. El archivo de audio que quiero reproducir no se colocó correctamente, como pensé al principio. Lo había movido en la carpeta/sdcard y todo fue simplemente maravilloso. P.S. Yo uso solo nombre de archivo, sin carpetas.

+1

¿cómo puedo acceder a la canción sdcard y jugar usando javascript? –

+0

Hola @HirenDabhi ¿te refieres a reproducir sonido usando la API PhoneGap [link] (http://docs.phonegap.com/en/1.4.1/phonegap_media_media.md.html#Media) o sin él? –

+0

¿Cómo se guarda el archivo de audio con la función phonegap en la tarjeta sd, creo que phonegap guarda todos los archivos en el almacenamiento interno? –

2

¿Puedo ofrecer un consejo .. Si utiliza el reproductor de medios PhoneGap .. Es necesario eliminar el archivo: // del camino .. No doesn aceptar un URI completo para archivos locales Regards Kim

Cuestiones relacionadas