2012-02-08 18 views
7

Ho una semplice app per Webview per Android, realizzata con PhoneGap Build. Quando si tenta di riprodurre un file mp3 locale incluso nell'APK, non accade nulla. Tuttavia, se estraggo un mp3 dal web funziona.Riproduzione di file audio locale nell'app Webview Android

ad es.

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

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

Sono nuovo di sviluppo di Android, quindi posso solo che il file è in qualche modo inaccessibile lettore multimediale di Android. Ecco un link agli errori/avvertimenti dal mio file di registro se questo aiuta a far luce sul problema.

http://pastebin.com/isS542RE

risposta

3

Hai provato indicando il file per il percorso del file system locale con "file: ///android_assets/01.mp3" assumendo la vostra .mp3 è all'interno della directory delle applicazioni beni?

+1

Sì. In realtà è nel file: ///android_assets/www/01.mp3. Ottengo lo stesso risultato. I file di immagine nella stessa posizione vengono visualizzati correttamente, ma vengono visualizzati direttamente tramite la visualizzazione Web. La mia ipotesi (ed è solo che "un'ipotesi") è che, poiché i file audio non vengono riprodotti direttamente da un browser, ma trasmessi a un giocatore, il giocatore non ha accesso ai file che fanno parte dell'app. – Justin

+0

Qualcos'altro da notare, l'audio HTML5 è notoriamente perfetto in Android. http://www.brianhadaway.com/html5-audio-support-on-android-devices/ Se si utilizza PhoneGap, è consigliabile prendere in considerazione l'utilizzo dell'API multimediale di PhoneGap. – Devgeeks

+0

Ho avuto gli stessi problemi con l'API di Phonegap, i file web funzionavano, i file locali no. Grazie per il collegamento però ... sembra che Brian abbia creato un bel player semplice con il fallback Flash. La maggior parte dei giocatori là fuori è troppo gonfia per quello di cui ho bisogno. Fare un tentativo. – Justin

5

L'ho utilizzato utilizzando la classe Media di Phonegap. Devo aver fatto qualcosa di sbagliato all'inizio, ma non sono sicuro di cosa. Il modo corretto per accedervi tramite l'oggetto multimediale è come affermato in precedenza da Simon: myMedia = new Media ("/ android_asset/www/test.mp3");

È necessario inserire il percorso completo poiché la classe multimediale si imposta automaticamente sulla directory/SDCARD sui percorsi relativi.

Simon ha anche una grande scrittura fino sull'uso della classe media: http://simonmacdonald.blogspot.com/2011/05/using-media-class-in-phonegap.html?m=1

Per quanto riguarda il metodo di HTML5 e utilizzando il tag AUDIO, io non sono ancora certo il motivo per cui non riesce a file locali. La classe media di Phonegap funziona bene e probabilmente è comunque una soluzione più affidabile. Phonegap FTW!

2

Abbiamo avuto lo stesso problema, i file multimediali, per essere riprodotti, devono essere nella directory di archiviazione esterna. Prova a spostare il tuo codice HTML e file correlati su /mnt/sdcard/.

+0

Ho avuto lo stesso problema e ho spostato il file sulla sdcard, e ora funziona. Grazie amico. – Cairo

Problemi correlati