2013-09-05 26 views
7

Tôi đã cố gắng để phần tử Media hoạt động trong PhoneGap khi triển khai lên Android. Đây là những gì tôi đã làm cho đến nay:Tham chiếu không bắt buộcLỗi: Phương tiện không được xác định

Tải về và cài đặt dưới đây:

Java (phiên bản 7 Update 25)
http://java.com/en/download/index.jsp

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

Kiến (1.9.2)
http://www.apache.org/dist/ant/binaries/

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

Android (ADT Bundle dành cho Windows) 64 bit - phiên bản 2013-07-29 http://developer.android.com/sdk/index.html
thư mục cài đặt: E: \ PhoneDev \ adt-bó -Windows-x86_64-20130729

Set biến môi trường:

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

Xác minh rằng các đường dẫn sau đây được bổ sung vào môi trường biến PATH (cách nhau bằng dấu chấm phẩy):

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 

Install PhoneGap (Ngay bây giờ nó là phiên bản 3.0.0):

npm install -g phonegap 

Tạo ứng dụng PhoneGap:

phonegap create media-app 

Build PhoneGap app:

cd media-app 
phonegap local build android 

Thêm trong môi trường ứng dụng \ nền tảng \ android \ res \ xml \ config.xml:

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

Thêm vào nền tảng \ 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" /> 

Thay thế nội dung của m edia-app \ www \ index.html với "Full Ví dụ" ở trang sau:
http://docs.phonegap.com/en/3.0.0/cordova_media_media.md.html#Media

Chạy ứng dụng PhoneGap trong giả lập:

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

Ứng dụng chạy một cách chính xác, nhưng khi tôi cố gắng để chơi một âm thanh tôi nhận được lỗi sau:

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

Tôi cũng đã thử thực hiện điều tương tự từ Eclipse đi kèm với SDK Android. Tôi đã tạo một AVD và chạy ứng dụng từ Eclipse. Tôi nhận được lỗi tương tự. Tôi đã cố gắng hiểu vấn đề là gì trong một thời gian. Nếu ai đó có thể làm sáng tỏ vấn đề này thì tôi thực sự sẽ đánh giá cao nó!

+0

Cũng có gì trong tệp "index.html"? – Pointy

+0

Tìm kiếm "Ví dụ đầy đủ" trên trang này: http://docs.phonegap.com/en/3.0.0/cordova_media_media.md.html#Media –

Trả lời

7

Kể từ phiên bản 3.0, PhoneGap triển khai API cấp thiết bị dưới dạng plugin. Sử dụng lệnh Plugin của CLI, được mô tả trong The Command-line Interface, để thêm hoặc loại bỏ tính năng này cho một dự án:

Bạn cần phải thêm các plugin phương tiện truyền thông cho dự án của bạn -

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

Run rằng trên lệnh trong dự án và bạn nên thiết lập.

+0

Điều này làm việc, cảm ơn! Tôi cũng phải thêm plugin "Thiết bị". –

+2

Tôi đã thêm plugin bằng dòng lệnh: plugin cordova thêm https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git Nhưng nó vẫn không hoạt động: ( – nonozor

+0

Kể từ phonegap ** 5.2.0 **, lệnh 'phonegap local' không được chấp nhận –

Các vấn đề liên quan