phonegap capture plugin captureVideo not working phonegap 3.0.0-0.14.3

时间:2013-09-23 21:38:40

标签: android plugins phonegap-plugins video-capture galaxy

我已成功安装了插件org.apache.cordova.core.media-capture。

我在项目中用

做了哪些

phonegap本地插件添加https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git

navigator.device.capture.captureVideo function does not respond to the call.

手机上没有任何事情发生。

如果我在通话前后拨打警报,第一个警报会弹出,但第二个警报不会发生。我希望无法转到captureError回调函数 并弹出一条消息,但仍然没有任何反应。

/**
 *
 * captures the video 
 * A button will call this function
 * Launch device video recording application,
 * allowing user to capture 1 video clip
 */
function onCaptureVideo() {
  var options = { limit: 1 };
  alert('trying to capture');
  // start image capture
  navigator.device.capture.captureVideo(captureSuccess, captureError, options);
}

还有回调函数

/**
 * Called when capture operation is finished
 * @param mediaFiles
 */
  var captureSuccess = function(mediaFiles) {
  var i, path, len;
  for (i = 0, len = mediaFiles.length; i < len; i += 1) {
    path = mediaFiles[i].fullPath;
    // do something interesting with the file
  }
};

/** 
 *
 * Called if something bad happens.
 * @param error
 */
var captureError = function(error) {
  navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};

这需要工作,所以我可以在Android和IOS上捕获视频和图片,然后将它们上传到服务器。

目前我正在Android三星Galaxy S4上测试这个

任何人对如何使视频捕获工作有任何想法?

1 个答案:

答案 0 :(得分:1)

问题在于,无论出于何种原因,phonegap 3.0有点小故障并且似乎不想在app / plugins文件夹中的android.json文件中添加新插件,然后在app / platforms中不包含插件/ android / assets / www / plugins文件夹在构建时,还不会将一些插件文件添加到app / platforms / android / src / org / apache / cordova / {plugin folder name}文件夹中。在这种情况下,“mediacapture”。

我曾尝试手动将插件文件添加到app / platforms / android / assets / www / plugins,但未将插件正确添加到app / plugins / android.json。它只是删除它们,并且下次构建时不会使用它们。

除非你是专家,否则android.json确实需要通过phonegap来完成。

所以我要做的是,备份我的app / platforms / android / src / org / apache / cordova /文件夹 还有app / platforms / android / assets / www / plugins文件夹。

然后我把我的项目文件夹全部移到另一个位置作为一个坚固的备份,并从git hub中拉下我的项目源并重建了整个项目。同样我必须赞扬Adam Wade Harris,你会找到他在这里,还有phonegap的问题和答案,他给了我这个剧本的一部分。

在此处输入您的真实项目和反向域名以及应用名称

phonegap create {newAppFolderName} com.somedomain.prefix AppShortName
cd newAppFolderName
phonegap build android

使用假分支设置git

git init

在这里放入你真实的项目回购

git remote add origin git@bitbucket.org:someorganization/yourrepo.git
git fetch origin
git checkout -b nothingBranch
git add .
git commit -m "nothing"

在此处查看您的真实分支

git checkout -b master origin/master
git branch --set-upstream-to=origin/master master

在项目中创建平台文件夹

mkdir /path/to/newAppFolderName/platforms/

为您可能喜欢的每个插件执行此操作

phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git

phonegap build android

这可能对所有人都不起作用,请确保将原始项目保留在某处并希望最好,复制任何最终丢失的插件文件,即使是干净的重建,phonegap似乎也遗漏了几个文件夹而我不得不再次手动将它们放置到位。