8

我尝试使用这个插件并按照 readme.md 文件中的说明进行操作。

1)这是我的 html 文件

<!DOCTYPE HTML>
<html>
<head>
    <title>TryMakan Video</title>
    <link rel="stylesheet" href="style.css" />
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
    <script type="text/javascript" charset="utf-8" src="video.js"></script>
    <script type="text/javascript">
function playVideo(){
            window.plugins.videoPlayer.play("http://www.trymakan.my/wp-content/uploads/2011/09/NASI-AYAM-BEREMPAH-KAJANG.mp4");
        }
 </script>
</head> <body>
<a href="#" onClick="playVideo();">play</a>
</body></html>

2) 这是我的 plugins.xml,它位于 xml 文件夹中

<?xml version="1.0" encoding="utf-8"?>
<plugins>
    <plugin name="VideoPlayer" value="com.phonegap.plugins.video.VideoPlayer"/>
</plugins>

3)我还将 VideoPlayer.java 复制到此文件夹 src\com\phonegap\plugins\video

4)另外,有人说我还需要将插件添加到AndroidManifest.xml文件中,所以这是它的一个片段

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="com.phonegap.plugins.video.VideoPlayer"/>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

但是,当我单击“播放”时,log cat 仍会返回此错误

08-08 04:54:15.823: I/Web Console(309): Error: Status=2 Message=Class not found at file:///android_asset/www/cordova-2.0.0.js:938

update1:​​这里是 VideoPlayer.java 所在的位置

这里

我在 Gen 文件夹下没有看到 VideoPlayer.java,这是否意味着它没有编译?这可能是问题吗?如果是,如何解决?

update2:我检查了 bin 文件夹,并且在 bin\classes\com\phonegap\plugins\video 下有 VideoPlayer.class,所以 VideoPlayer.java 实际上是编译的

4

3 回答 3

10

问题是你的plugins.xml。

它出现在最近的 PhoneGap 版本之一中,plugins.xml 已被删除,您必须在 res/xml/config.xml 中添加该行。

所以尝试添加标签<plugin name="VideoPlayer" value="com.phonegap.plugins.video.VideoPlayer"/>

到 res/xml/config.xml 而不是 plugins.xml

于 2012-08-08T05:31:23.320 回答
6

如果日志中显示的错误是

在文件中找不到类:///android_asset/www/cordova-2.0.0.js:938

最好的方法是检查哪个类导致了错误。对于那些仍然收到此错误消息的人,请尝试以下技巧。

  1. 在编辑器中打开 cordova-2.0.0.js。
  2. 替换第 938 行的代码,即

    console.log("错误:状态="+v.status+" Message="+v.message);

    console.log("错误:状态="+v.status+" Message="+v.message+" service="+service+" action="+action);

  3. 再次运行应用程序并检查控制台是否存在上述错误。您可以在service=XYZ中看到导致错误的插件,其中 XYZ 是插件名称。

  4. 检查 config.xml 文件中的部分是否有 XYZ 插件的任何条目。
  5. 如果找不到,请添加 XYZ 插件。
于 2012-08-18T12:35:14.693 回答
2

由于缺少插件,我遇到了此错误。我添加了

<plugin name="Device" value="org.apache.cordova.Device"/>

到 config.xml 文件并修复它。

于 2013-05-20T22:25:02.347 回答