2012-02-08 10 views
7

Tengo una aplicación de vista web Android simple, construida con Phonegap Build. Al intentar reproducir un archivo mp3 local incluido en el APK, no ocurre nada. Sin embargo, si saco un mp3 de la web, funciona.Reproducción de archivos de audio locales en la aplicación de vista web de Android

p. Ej.

<audio src="www.example.com/01.mp3" > WORKS JUST FINE 

<audio src="01.mp3" > DOES NOT WORK 

Soy nuevo en el desarrollo de Android, por lo que sólo puede adivinar que el archivo es de alguna manera inaccesible por el reproductor multimedia de Android. Aquí hay un enlace a los errores/advertencias de mi archivo de registro si eso ayuda a arrojar alguna luz sobre el problema.

http://pastebin.com/isS542RE

Respuesta

3

¿Ha intentado señalar el archivo a la ruta del sistema de archivos local utilizando "file: ///android_assets/01.mp3" suponiendo que su .mp3 está dentro del directorio de aplicaciones activos?

+1

Sí. En realidad está en file: ///android_assets/www/01.mp3. Obtengo el mismo resultado. Los archivos de imagen en esa misma ubicación se muestran bien, pero se representan directamente a través de la vista web. Mi suposición (y es solo que "supongo") es que como los archivos de audio no se reproducen directamente en un navegador, sino que se transmiten a un jugador, el jugador no tiene acceso a los archivos que forman parte de la aplicación. – Justin

+0

Algo más a tener en cuenta, el audio html5 es notoriamente escaso en Android. http://www.brianhadaway.com/html5-audio-support-on-android-devices/ Si está usando PhoneGap, probablemente debería considerar usar Media API de PhoneGap. – Devgeeks

+0

Tuve los mismos problemas con la API de Phonegap, los archivos web funcionaron, los archivos locales no. Gracias por el enlace ... parece que Brian ha creado un buen jugador simple con Flash Fallback. La mayoría de los jugadores están demasiado hinchados para lo que necesito. Voy a darle una oportunidad. – Justin

5

Lo tengo trabajando usando la clase Media de Phonegap. Debo haber estado haciendo algo mal al principio, pero no estoy seguro de qué. La forma correcta de acceder a ella a través del objeto multimedia es como Simon declaró anteriormente: myMedia = new Media ("/ android_asset/www/test.mp3");

Debe colocar la ruta de acceso completa, ya que la clase de medios está predeterminada en el directorio/SDCARD en rutas relativas.

Simon también tiene una gran escritura arriba sobre el uso de la clase media: http://simonmacdonald.blogspot.com/2011/05/using-media-class-in-phonegap.html?m=1

En cuanto al método de HTML5 y con el audio de la etiqueta, todavía no estoy seguro de por qué se produce un error en los archivos locales. La clase de medios de Phonegap funciona bien y es probablemente una solución más confiable de todos modos. Phonegap FTW!

2

Tuvimos el mismo problema, los archivos multimedia, para ser reproducidos, deben estar en el directorio de almacenamiento externo. Intente mover su HTML y archivos relacionados al /mnt/sdcard/.

+0

Tuve el mismo problema, y ​​moví el archivo a la tarjeta SD, y ahora funciona. Gracias amigo – Cairo

Cuestiones relacionadas