2013-09-05 10 views
7

Próbowałem uruchomić element Media w PhoneGap podczas wdrażania w systemie Android. Oto co zrobiłem do tej pory:Uncaught ReferenceError: Media nie są zdefiniowane

Pobierz i zainstaluj poniżej:

Java (wersja 7 Aktualizacja 25)
http://java.com/en/download/index.jsp

Java SE Development Kit 7u25 (64 bit)
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Mrówka (1.9.2)
http://www.apache.org/dist/ant/binaries/

NodeJS (v0.10.18 64 bit)
http://nodejs.org/

Android SDK (ADT Bundle dla Windows) 64 bit - wersja 2013-07-29 http://developer.android.com/sdk/index.html
Folder instalacyjny: E: \ PhoneDev \ adt-bundle -Windows-x86_64-20130729

ustawić zmienne środowiskowe:

JAVA_HOME = C:\Progra~1\Java\jre7 
ANT_HOME = E:\Program Files (x86)\apache-ant-1.9.2 
NODEJS = E:\Program Files (x86)\nodejs 

sprawdzić, czy następujące drogi dodaje się do ścieżki zmiennym otoczeniu (oddzielone średnikami):

E:\PhoneDev\adt-bundle-windows-x86_64-20130729\sdk\platform-tools 
E:\PhoneDev\adt-bundle-windows-x86_64-20130729\sdk\tools 
%ANT_HOME%\bin 
%NODEJS% 
E:\Program Files\Java\jdk1.7.0_25\bin 

Instalacja PhoneGap (Teraz jest wersja 3.0.0)

npm install -g phonegap 

Tworzenie PhoneGap aplikacji:

phonegap create media-app 

Budowa PhoneGap aplikacja:

cd media-app 
phonegap local build android 

Dodaj w media-app platform \ \ android \ Res \ xml \ config.xml:

<feature name="Media"> 
    <param name="android-package" value="org.apache.cordova.AudioHandler" /> 
</feature> 

Dodaj do platform \ android \ AndroidManifest.xml :

<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

wymienić zawartość m edia-app \ www \ index.html z „Full przykładu” na następnej stronie:
http://docs.phonegap.com/en/3.0.0/cordova_media_media.md.html#Media

Uruchom aplikację PhoneGap w emulatorze:

media-app\platforms\android\cordova\run.bat 

Aplikacja działa poprawnie, ale gdy próbuję odtworzyć dźwięk otrzymuję następujący błąd:

Uncaught ReferenceError: Media is not defined at 
file:///android_asset/www/index.html 

Próbowałem również zrobić to samo z Eclipse, który jest dołączony do zestawu Android SDK. Stworzyłem AVD i uruchomiłem aplikację od Eclipse. Otrzymuję ten sam błąd. Próbowałem zrozumieć, na czym polega problem przez jakiś czas. Jeśli ktoś może rzucić trochę światła na ten problem, naprawdę bym to docenił!

+0

Co znajduje się w pliku "index.html"? – Pointy

+0

Wyszukaj "Pełny przykład" na tej stronie: http://docs.phonegap.com/en/3.0.0/cordova_media_media.md.html#Media –

Odpowiedz

7

Od wersji 3.0 aplikacja PhoneGap implementuje interfejsy API na poziomie urządzenia jako wtyczek. Użyj polecenia wtyczki CLI-tych, opisanych w Command-line Interface, aby dodać lub usunąć tę funkcję dla projektu:

musisz włożyć wtyczkę mediów do swojego projektu -

phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git 

Run że powyższe polecenia w obrębie projektu katalog i powinieneś być ustawiony.

+0

To działało, dziękuję! Musiałem też dodać wtyczkę "Device". –

+2

Dodałem wtyczkę z linii poleceń: wtyczka cordova dodaj https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git Ale nadal nie działa :( – nonozor

+0

Od phonegap ** 5.2.0 **, polecenie 'phonegap local' jest przestarzałe –

Powiązane problemy