繁体   English   中英

使用FileOpener Phonegap Android出现“未定义”结果,并且无法打开视频文件吗?

[英]“undefined” result using FileOpener Phonegap Android and failed to open video File?

我已经下载了插件FileOpener并添加到m,y项目中,如下所示:

<!DOCTYPE html>
<html lang="en"  dir="ltr">
<head>
    <meta charset="utf-8">

   <meta name="viewport" content="width=device-width,  user-scalable=no">
   <title>sample</title>
   <link rel="stylesheet"  href="css/jquery.mobile-1.3.2.min.css">
  <link rel="stylesheet"  href="css/adidas.css">
  <script src="js/jquery.js"></script>
  <script src="js/jquery.mobile-1.3.2.min.js"></script>
  <script src="js/data_en.js"></script>
  <script src="js/data_sp.js"></script>
  <script src="js/adidas.js"></script>
  <script src="js/cordova.js"></script>
  <script src="js/video.js"></script>
  <script src="js/fileopener.js"></script>

</head>
<body>
 <div data-role="page" data-theme="a" class="my-page" id="video">
  <video id="video_player" src="#" controls="controls"></video> 
</div>
</body>

在js文件中

    $(document).on('pagebeforeshow',"#video", function () {
   var xyz = document.getElementById('video_player');
    alert("values xyz:" + xyz);
     var x =  window.plugins.fileOpener.open("file:///android_asset/www/videos/1974.mp4");
  xyz.src =  window.plugins.fileOpener.open("file:///android_asset/www/balls/1970.png");

    alert("opener:" + x);
    window.plugins.videoPlayer.play(x);
    alert("xyz after src:" +  xyz);
});

** ** firstalert第二次警报第三警报 我无法打开资产/www/videos/abcd.mp4中的任何视频文件/图像,也无法打开类似图像

现在一切正常,但是在尝试按“播放”按钮时会发出警报: 在此处输入图片说明

 <!DOCTYPE html>
 <html lang="en"  dir="ltr">
 <head>
<meta charset="utf-8">

<meta name="viewport" content="width=device-width,  user-scalable=no">
<title>sample</title>
<script src="js/cordova.js"></script>
<script src="js/video.js"></script>
<script src="js/fileopener.js"></script>
<script src="js/ADD_ANY_JQUERY.MIN.JS"></script>
<script>
   function openFile(filePath)
  {
     window.plugins.fileOpener.open(filePath);
  }
</script
</head>
<body>
<div data-role="page" data-theme="a" class="my-page" id="video">
<img src="img/b_img1.png" onclick="openFile('file:///android_asset/www/videos/1974.mp4')"/>
</div>
</body>

编辑的 Fileopener.js将如下所示:

cordova.define("cordova/plugin/fileopener",
  function(require, exports, module) {
    var exec = require("cordova/exec");
    var FileOpener = function () {};

FileOpener.prototype.open = function(url) {
    exec(null, null, "FileOpener", "openFile", [url]);
};

FileOpener.prototype.setTAG = function(tag) {
    exec(null, null, "FileOpener", "setTAG", [tag]);
};
var fileOpener = new FileOpener();
    module.exports = fileOpener;

});
/**
 * Load Plugin
 */
if (!window.plugins) {
    window.plugins = {};
}
if (!window.plugins.fileOpener) {
    window.plugins.fileOpener = cordova.require("cordova/plugin/fileopener");
}

在这行中的“ js / ADD_ANY_JQUERY.MIN.JS”中添加任何jquery.min.js

最后检查一下Cordova.js文件夹是否在应用程序的js文件夹中。然后让我知道它是否不起作用,您的logcat在说什么...

添加代码后,我正在使用cordova 2.9.0,jquery 1.9.1,jqm-1.3.2和android-sdk-version:14我遇到错误: logcat是

01-06 19:36:53.132: D/PluginManager(9420): exec() call to unknown plugin: FileOpener 
 01-06 19:36:53.202: D/CordovaLog(9420): file:///android_asset/www/js/fileopener.js: Line 20 : Class not found     
01-06 19:36:53.202: I/Web Console(9420): Class not found at file:///android_asset/www/js/fileopener.js:20 

这个问题的解决方案是我在config.xml和plugin.xml中做错了: config.xml替换为:

 <feature name="videoplayer">
        <param name="android-package" value= "com.adidas.football.app.videoPlayer.VideoPlayer"/>
    </feature>

有:

  <feature name="VideoPlayer">
        <param name="android-package" value= "com.adidas.football.app.videoPlayer.VideoPlayer"/>
    </feature>

plugin.xml替换为:

<plugin name="videoplayer" value= "com.adidas.football.app.videoPlayer.VideoPlayer"/>

有:

 <plugin name="VideoPlayer" value= "com.adidas.football.app.videoPlayer.VideoPlayer"/>

CAPITAL LETTER的一个小错误,但它消除了所有错误,最后我没有错误,只有我在编辑过的问题中添加的“ 不能播放视频”的最后一个警报

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM