7

Android にデプロイするときに、Media 要素を PhoneGap で機能させようとしています。これが私がこれまでにしたことです:

以下をダウンロードしてインストールします。

Java (バージョン 7 アップデート 25)
http://java.com/en/download/index.jsp

Java SE 開発キット 7u25 (64 ビット)
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

アリ (1.9.2)
http://www.apache.org/dist/ant/binaries/

NodeJS (v0.10.18 64 ビット)
http://nodejs.org/

Android SDK (Windows 用 ADT バンドル) 64 ビット - バージョン 2013-07-29 http://developer.android.com/sdk/index.html
インストール フォルダー: E:\PhoneDev\adt-bundle-windows-x86_64-20130729

環境変数を設定します。

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

次のパスが PATH 環境変数に追加されていることを確認します (セミコロンで区切られています)。

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  

PhoneGap をインストールします (現在はバージョン 3.0.0 です)。

npm install -g phonegap

phonegap アプリを作成します。

phonegap create media-app

phonegap アプリをビルドします。

cd media-app
phonegap local build android

media-app\platforms\android\res\xml\config.xml に追加します。

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

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" />  

media-app\www\index.html の内容を次のページの「完全な例」に置き換えます:
http://docs.phonegap.com/en/3.0.0/cordova_media_media.md.html#Media

エミュレーターで phonegap アプリを実行します。

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

アプリケーションは正しく動作しますが、サウンドを再生しようとすると次のエラーが発生します。

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

Android SDKにバンドルされているEclipseからも同じことをやってみました。AVD を作成し、Eclipse からアプリケーションを実行しました。同じエラーが発生します。私はしばらくの間、問題が何であるかを理解しようとしてきました。誰かがこの問題に光を当てることができれば、本当に感謝しています!

4

1 に答える 1

7

バージョン 3.0 の時点で、PhoneGap はデバイス レベルの API をプラグインとして実装しています。The Command-line Interfaceで説明されている CLI のプラグイン コマンドを使用して、プロジェクトのこの機能を追加または削除します。

プロジェクトにメディアプラグインを追加する必要があります -

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

プロジェクトのディレクトリ内で上記のコマンドを実行すると、設定が完了します。

于 2013-09-05T23:15:53.997 に答える