我尝试使用此插件并按照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>
Run Code Online (Sandbox Code Playgroud)
2)这是我的plugins.xml,它位于xml文件夹中
<?xml version="1.0" encoding="utf-8"?>
<plugins>
<plugin name="VideoPlayer" value="com.phonegap.plugins.video.VideoPlayer"/>
</plugins>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
但是,当我点击"播放"时,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
Run Code Online (Sandbox Code Playgroud)
update1:这是VideoPlayer.java所在的位置
我没有在Gen文件夹下看到VideoPlayer.java,这是否意味着它没有编译?这可能是问题吗?如果是,如何解决?
update2:我检查了bin文件夹,bin\classes\com\phonegap\plugins\video下有VideoPlayer.class,所以VideoPlayer.java实际编译完毕
ziz*_*jab 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
如果日志中显示的错误是
在file:///android_asset/www/cordova-2.0.0.js:938找不到类
最好的方法是检查哪个类导致错误.对于仍然收到此错误消息的人,请尝试以下技巧.
替换938行的代码即
console.log("错误:Status ="+ v.status +"Message ="+ v.message);
同
console.log("错误:Status ="+ v.status +"Message ="+ v.message +"service ="+ service +"action ="+ action);
再次运行应用程序并检查控制台是否存在上述错误.您可以在服务中看到导致错误的插件= XYZ,其中XYZ是插件名称.
| 归档时间: |
|
| 查看次数: |
15098 次 |
| 最近记录: |