【发布时间】:2013-12-31 13:27:26
【问题描述】:
我正在使用 Eclipse 中的 PhoneGap 开发一个应用程序,每当我使用 Media 对象时,我都会在这一行得到一个异常:
var test = new Media("/android_asset/www/sound/music/Weird.mp3", null, null, null);
12-31 13:52:56.775:E/Web 控制台(3688):未捕获的 ReferenceError: 媒体未定义:25
这个例外是supposedly,因为我还没有实现媒体插件。我刚刚从 2.9 升级到 3.3,所以新的插件系统有一些我以前没有使用过的变化。
我尝试按照the PhoneGap Media documentation 中的说明进行操作,但它一直提到使用他们的命令行界面。我在 Eclipse 中工作,我在 Eclipse 中创建了整个项目,自己构建了 Cordova-3.3.0.jar 文件,然后将其添加到项目中。在使用 Media 对象之前一切正常。
有人知道如何将媒体支持添加到 PhoneGap 3.3.0 项目吗?我可以在 Eclipse 中创建的项目上使用 CLI 吗?
我试图通过将以下内容添加到我的 res/xml/config.xml 文件中来添加对它的支持:
<feature name="Media">
<param name="android-package" value="org.apache.cordova.AudioHandler" />
</feature>
然后在我的 AndroidManifest 文件中添加适当的权限:
<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" />
但这也不是很好。任何帮助将不胜感激!
【问题讨论】:
-
Kamlesh Arya:我看不出那篇文章对我有什么帮助。我的问题是我什至不能使用 Media 对象开始。
-
如果您没有使用命令行安装插件,您是否在 src/org/apache/cordova/media 中有插件的 .java 文件?其实我有点困惑。我的 config.xml 文件(如 cordova 文档)的包位于:org.apache.cordova.media.AudioHandler 显然与您的有点不同。
-
您还应该在 assets/www/plugins/org.apache.cordova.media/www 中有一个 Media.js 文件,并在 assets/www/cordova_plugins.js 文件中包含该文件的条目{“文件”:“插件/org.apache.cordova.media/www/Media.js”,“id”:“org.apache.cordova.media.Media”,“clobbers”:[“window.Media”] }
-
我在 src/org/apache/cordova/media 中没有 media.java。 URL org.apache.cordova.AudioHandler 是我在此处的媒体对象文档中找到的:docs.phonegap.com/en/3.3.0/cordova_media_media.md.html#Media。
标签: java android eclipse cordova