2010-11-11 16 views
10

Vor einem Monat fing ich an, mit phonegap, html5, css3 und jQtouch zu arbeiten. Ich arbeite an einer Anwendung und ich muss Sound in der Anwendung spielen. Ich habe ein ernstes Problem mit dieser Aufgabe. Zuerst habe ich herausgefunden, dass ich MP3-Dateien über Phonegap mit der neuen Media (...) -Funktion spielen kann. Ich bin mir nicht sicher über. Wav-Dateien, kann ich diese spielen? Zweitens habe ich festgestellt, dass Dateien weniger als 30 Sekunden sein müssen, ist das so? Drittens kann ich nicht den richtigen Platz für meine Sounddateien finden. Meine Projektstruktur ist die folgende:Wie man Lied in Android spielt - phonegap

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

Ich habe versucht, die Datei im ‚www‘ Ordnern ablegen und einen neuen ‚audio‘ genannt zu schaffen. Nichts davon gab mir, was ich wollte. Ich verwende diesen Code zur Ausführung des Songs:

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

Ich benutze Android 2.1 Simulator und ich habe ohne Erfolg 2.2 als auch ausprobiert. Ich hoffe, ich war klar genug. Ich freue mich von Ihnen zu hören. Yours, Mihail Velikov

Antwort

18

PhoneGap für Android ermöglicht das Speichern von lokalen Audiodateien an zwei Stellen: android_asset: Dateiname mit /android_asset/sound.mp3 sdcard beginnen muss: Dateiname ist nur sound.mp3

Wenn Sie Ihren Tanzplatz MP3-Datei in Ihrem Vermögen Verzeichnis des Projektes, dann können Sie es mit dem Pfad spielen: (. Sie können die Quelle für AudioPlayer.java im Android PhoneGap Quellen lesen, um zu sehen, wie das funktioniert)

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

+0

Danke! Diese Information war für mich aus irgendeinem Grund schwierig zu finden. Ihre Antwort sollte als die richtige Antwort IMO markiert sein. –

+0

Sure Jack, ich glaube du hast Recht. Es ist schon eine Weile her, dass ich dieses Projekt beendet habe. Danke für deine Antwort –

+0

Bedeutet das, dass du deine Medien nicht in Ordnern haben kannst, dass sie im root sein müssen um zu funktionieren? – nycynik

0

Warum spielen Sie nicht einfach die Songs mit der HTML 5 audio tag? Ihre Ansicht ist ein WebView. Es sollte nicht wichtig sein, es ist einfacher und Sie haben mehr Kontrolle.

+0

Da keine vollständige URI akzeptieren Soweit ich weiß, wird das

+0

Das Audio-Tag wird in 2.1 und 2.2 unterstützt. Aber .. es unterstützt keine Audioformate. – timing

+0

Ich würde denken, dass das einfache alte html5 nicht an das native Audio-Spielverhalten anknüpft, wie zum Beispiel weiterzuspielen, wenn das Gerät in den Ruhezustand geht. – BraveNewMath

1

Ich habe herausgefunden, wo mein Fehler war. Die Audiodatei, die ich abspielen möchte, wurde nicht richtig platziert, wie ich zuerst dachte. Ich hatte es in/sdcard Ordner verschoben und alles war einfach wunderbar! P.S. Ich benutze nur Dateinamen, keine Ordner.

+1

Wie kann ich auf sdcard Lied zugreifen und mit Javascript spielen? –

+0

Hallo @HirenDabhi meinst du Ton spielen mit der PhoneGap API [Link] (http://docs.phonegap.com/en/1.4.1/phonegap_media_media.md.html#Media) oder ohne? –

+0

Wie speichern Sie die Audiodatei mit Phonegap auf der SD-Karte, speichert ich Phonegap alle Dateien auf dem internen Speicher? –

2

Kann ich biete einen Rat .. Wenn Sie die PhoneGap Media Player verwenden .. Sie müssen die Datei entfernen: // aus dem Weg .. Es spielt keine für lokale Dateien Grüße Kim

Verwandte Themen