2010-11-11 15 views
10

Miesiąc temu zacząłem pracować z phonegap, html5, css3 i jQtouch. Pracuję nad aplikacją i muszę odtwarzać dźwięk w aplikacji. Mam poważny problem z tym zadaniem. Najpierw dowiedziałem się, że mogę odtwarzać pliki .mp3 przez phonegap za pomocą nowej funkcji Media (...). Nie jestem pewien plików .wav, czy mogę je odtwarzać? Po drugie, stwierdziłem, że pliki muszą być krótsze niż 30 sekund, czy tak jest? Po trzecie Nie mogę znaleźć odpowiedniego miejsca dla plików dźwiękowych. Moja struktura projektu jest następująca:Jak odtwarzać utwór w systemie Android - phonegap

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

Próbowałem umieścić plik w folderze "www" i utworzyć nowy o nazwie "audio". Nic z tego nie dało mi tego, czego chciałem. Używam tego kodu do wykonywania utworu:

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

Używam Android 2.1 Simulator i próbowałem 2.2 jak również bez powodzenia. Mam nadzieję, że byłem wystarczająco jasny. Z niecierpliwością czekam na wiadomość od Ciebie. Pozdrawiam, Mihail Velikov

Odpowiedz

18

PhoneGap dla Androida pozwala przechowywać lokalnych plików audio w dwóch miejscach: android_asset: nazwa pliku musi zaczynać się /android_asset/sound.mp3 sdcard: nazwa pliku jest tylko sound.mp3

Jeśli złożysz DANCE plik mp3 w katalogu assets Twojego projektu, a następnie można go odtworzyć za pomocą ścieżki: (. można odczytać źródło AudioPlayer.java w źródłach Android PhoneGap, aby zobaczyć jak to działa)

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

+0

Dziękujemy! Ta informacja była dla mnie trudna do znalezienia z jakiegoś powodu. Twoja odpowiedź powinna być oznaczona jako poprawna odpowiedź IMO. –

+0

Sure Jack, Wierzę, że masz rację. Minęło sporo czasu, zanim skończyłem ten projekt. Dziękujemy za odpowiedź –

+0

Czy to oznacza, że ​​nie możesz mieć swoich multimediów w folderach, że musi być w katalogu głównym do pracy? – nycynik

0

dlaczego po prostu nie odtwarzasz utworów za pomocą HTML 5 audio tag? Twój widok to webView ... nie powinien mieć znaczenia, jest prostszy i masz większą kontrolę.

+0

jako o ile wiem, że tag

+0

Tag dźwiękowy jest obsługiwany w wersji 2.1 i 2.2. Ale ... nie obsługuje żadnych formatów audio. – timing

+0

Myślę, że zwykły stary html5 nie wiąże się z natywnym zachowaniem audio, takim jak kontynuowanie gry, gdy urządzenie przechodzi w stan uśpienia. – BraveNewMath

1

Dowiedziałem się, gdzie był mój błąd. Plik audio, który chcę odtworzyć, nie został poprawnie umieszczony, tak jak na początku myślałem. Przeniosłem go do folderu/sdcard i wszystko było po prostu cudowne! P.S. Używam tylko nazwy pliku, bez folderów.

+1

Jak mogę uzyskać dostęp do piosenki sdcard i grać używając javascript? –

+0

Witam @HirenDabhi masz na myśli odtwarzanie dźwięku za pomocą interfejsu API PhoneGap [link] (http://docs.phonegap.com/en/1.4.1/phonegap_media_media.md.html#Media) lub bez niego? –

+0

W jaki sposób zapisać plik dźwiękowy z kartą phonegap na sdcard, i czy phonegap zapisuje wszystkie pliki w pamięci wewnętrznej? –

2

Czy mogę zaoferować porady .. Jeśli używasz odtwarzacza multimediów PhoneGap .. trzeba usunąć plik: // ze ścieżki .. To nie robi przyjąć pełny adres do lokalnych plików Pozdrawiam Kim

Powiązane problemy