2016-02-23 6 views
5

Sto lavorando a un'app di PhoneGap/Cordova che riproduce file audio memorizzati localmente.PhoneGap/Cordova - Il codice non riproduce audio su Android (non è un problema con il percorso)

Ho problemi con alcuni codici e Android, dove l'esempio 1 non suona su Android e l'esempio 2 suona.

NOTA: i problemi non sono il percorso, so che il percorso del file è corretto.

Esempio 1 - Non gioca su Android ma suona bene su IOS dove il percorso viene modificato per IOS.

var audiofile = cordova.file.dataDirectory+'android_asset/www/audio/1.aac'; 

... 

$(".player").html('<div class="audioDemo-wrapper"><audio class="audioDemo" controls><source src="'+audiofile+'" type="audio/mpeg"></audio><div class="closeAudioBtn" onclick="stopAndCloseAudio();">X</div></div>'); 
$(".audioDemo").trigger('play'); 

Esempio 2 - Questo funziona su Android ma non è il modo in cui mi piacerebbe andare.

var audiofile = cordova.file.dataDirectory+'android_asset/www/audio/1.aac'; 

window.open(audiofile, '_blank', 'location=no,closebuttoncaption=Close'); 

La differenza è principalmente che l'Esempio 2 si apre in una nuova finestra?

Perché Esempio 1 non giocare su Android quando si gioca bene su IOS (Nota: I percorsi non sono il problema)

Tutte le idee?

+0

Puoi controllare questo link http://html5doctor.com/html5-audio-the-state-of-p posare/ Può essere utile per voi. – Angu

+0

Qualcosa da considerare - se il plugin cordova sta provando a giocare in modo nativo, potrebbe essere necessario cercare l'Uri del file dal MediaStore (un percorso non funzionerà). –

+0

@ Satch3000 Ho esaminato i tuoi post, sembra che questa sia la tua prima incursione in Cordova. È corretto? In tal caso, per favore ** rispondi alle seguenti domande nel tuo post **. È questa la tua prima app ibrida?Stai usando [CLI o SDK] (https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md#001)? Si prega di non assumere la risposta, si prega di leggere il link. (Suppongo non * Build *). Quindi, domanda * nel post *, rispondi nei commenti quindi so che hai aggiunto informazioni al post. – JesseMonroy650

risposta

1

Con il WebView Cordova su Android è possibile utilizzare:

1) audio HTML5 API (anche avvolto con jQuery) per la riproduzione di file audio dal web.

2) Cordova plugin che forniscono le API di giocare file audio locali in bundle con il progetto Cordova; ad esempio due plugin Cordova per riprodurre file audio sono:

Un'alternativa è quella di utilizzare Crosswalk in un progetto di Cordova, in modo da sostituire il WebView nativo Cordova con la WebView Crosswalk. In questo modo hai una webview basata su Chromium, abilitando il supporto per tutti i moderni web APIs, incluso l'audio.

alcuni mini-tutorial utili per progetto ionico/Cordova (che si applica solo ai progetti di Cordova):

PS: purtroppo non sono riuscito a trovare su Cordova documenta i dettagli delle API Web supportate da Android Cordova webview