Come faccio a suonare l'audio facendo clic su un button in un'applicazione Android costruita utilizzando PhoneGap / Cordova?

Sto costruendo un'applicazione di tipo soundboard simile che ha alcuni pulsanti che suona i suoni. Sto utilizzando PhoneGap / Cordova e sto utilizzando il servizio PhoneGap Build per compilare il codice per APK. In un primo momento stavo usando semplici tag HTML5 <audio> che funzionavano bene nel browser desktop e nel browser Android, ma quando sono stati confezionati nell'applicazione PhoneGap, non sono stati riprodotti suoni.

Mi sono guardato intorno e ho visto alcune menzioni di wherer utilizzare l'API Media in PhoneGap anziché l'audio HTML5 standard, quindi ho commutato a questo con le seguenti modifiche di codice.

  • Come / quando è raccolto un rifiuto di Handler?
  • Errore di gonfiaggio della class CollapsingToolbarLayout
  • Esempio "Ciao, WebView"
  • Android: Come superare onBackPressed () in AlertDialog?
  • Come distriggersre il button non appena è stato scattato
  • È ansible creare un NumberPicker orizzontale?
  • Ho la seguente function:

     function doPlay(soundId) { var my_media = new Media("/android_asset/www/"+soundId+".mp3", function() { navigator.notification.alert('Success!', alertDismissed); }, function(err) { navigator.notification.alert('Error!', alertDismissed); }); my_media.play(); } 

    Ogni button ha un gestore onclick simile a questo …

     onclick="doPlay('sound1');" 

    I file sono nella stessa directory sound1.mp3 , chiamato sound1.mp3 , sound2.mp3 e così via. E anche la function alertDismissed() è stata definita, ma è vuota.

    Tuttavia, ancora non funziona. Non c'è suono su clic. Non esiste alcun messaggio 'Success' o 'Error' . Sì, ho richieste di notification e media .

    Sono abbastanza stumped qui. Qualche idea?

    Aggiornamento: Come suggerito da @ simon-macdonald, ho messo un path completo per i file locali ("/ android_asset / www /"), ma che ancora non ha ottenuto l'applicazione per funzionare. Nessun suono, nessun errore / avviso di successo. 🙁

  • Come verificare se la networking mobile è triggersta / disabilitata
  • leggere i messaggi whatsapp
  • Android - Imansible creare una forma rettangular semplice ... UnsupportedOperationException?
  • Come rilevare l'orientamento dello schermo in schermo ritratto ritratto in android?
  • Una modifica TextView si applica a più TextViews utilizzando ListView e ArrayAdapter
  • Il bundle è nullo dopo aver impostato l'intento
  • 2 Solutions collect form web for “Come faccio a suonare l'audio facendo clic su un button in un'applicazione Android costruita utilizzando PhoneGap / Cordova?”

    Il path per i file non è corretto. Vuoi fare:

     var my_media = new Media("/android_asset/www/" + soundId+".mp3", function() { navigator.notification.alert('Success!', alertDismissed); }, function(err) { navigator.notification.alert('Error!', alertDismissed); }); my_media.play(); 

    Guarda il mio mini tutorial.

    http://simonmacdonald.blogspot.ca/2011/05/using-media-class-in-phonegap.html

    Ho una sensazione che il tuo problema non sia correlato al codice che hai scritto, ma forse hai dimenticato di includere il file javascript cordova nella tua sezione di testa.

     <script type="text/javascript" charset="utf-8" src="cordova-1.7.0.js"></script> 

    Buona fortuna.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.