未捕获的ReferenceError:未定义媒体

Nad*_*hab 7 javascript android cordova

在部署到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

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

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

Android SDK(适用于Windows的ADT Bundle)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  
Run Code Online (Sandbox Code Playgroud)

验证以下路径是否已添加到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  
Run Code Online (Sandbox Code Playgroud)

安装PhoneGap(现在它的版本3.0.0):

npm install -g phonegap
Run Code Online (Sandbox Code Playgroud)

创建phonegap应用:

phonegap create media-app
Run Code Online (Sandbox Code Playgroud)

构建phonegap应用程序:

cd media-app
phonegap local build android
Run Code Online (Sandbox Code Playgroud)

添加media-app\platforms\android\res\xml\config.xml:

<feature name="Media">  
    <param name="android-package" value="org.apache.cordova.AudioHandler" />  
</feature>  
Run Code Online (Sandbox Code Playgroud)

添加平台\ 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" />  
Run Code Online (Sandbox Code Playgroud)

将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  
Run Code Online (Sandbox Code Playgroud)

应用程序运行正常,但当我尝试播放声音时,我收到以下错误:

Uncaught ReferenceError: Media is not defined at  
file:///android_asset/www/index.html  
Run Code Online (Sandbox Code Playgroud)

我也尝试过与Eclipse SDK捆绑在一起的Eclipse.我创建了一个AVD并从Eclipse运行应用程序.我犯了同样的错误.我一直试图了解问题是什么.如果有人能对这个问题有所了解,我会非常感激!

Ros*_*oss 7

从3.0版开始,PhoneGap将设备级API实现为插件.使用命令行界面中描述的CLI插件命令为项目添加或删除此功能:

您需要将媒体插件添加到项目中 -

phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git
Run Code Online (Sandbox Code Playgroud)

在项目目录中运行上面的命令,你应该设置.

  • 我用命令行添加了插件:cordova插件添加https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git但它仍然无法工作:( (2认同)