【问题标题】:How can I solve this cordova media capture error?如何解决此科尔多瓦媒体捕获错误?
【发布时间】:2020-07-29 14:07:46
【问题描述】:

我正在尝试通过 cordova 插件 Media Capture 在我的应用程序中注册视频。根据文档,这是我的代码:

startRegistration(){
    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
      }
    };
    // capture error callback
    var captureError = function(error) {

    };
    navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:1});
  }

我尝试编译代码,但收到以下错误:

Property 'device' does not exist on type 'Navigator'

出了什么问题?

【问题讨论】:

  • 你使用的是什么版本的 ionic?
  • @MuhammadUmair 离子 5.4.6
  • 我已经添加了一个答案。如果您已经安装了最新的插件,请忽略第一行。

标签: android ios cordova ionic-framework mediacapture


【解决方案1】:

它曾经在 Ionic 1 中像这样工作,但现在不是了。现在您还需要安装@ionic-native/media-capture

如果您已经安装了最新的插件,请跳过第一个命令。

ionic cordova plugin add cordova-plugin-media-capture
npm install @ionic-native/media-capture

安装后就可以这样使用这个插件了

import { MediaCapture, MediaFile, CaptureError, CaptureImageOptions } from '@ionic-native/media-capture/ngx';


constructor(private mediaCapture: MediaCapture) { }

...


let options: CaptureImageOptions = { limit: 3 }
this.mediaCapture.captureImage(options)
  .then(
    (data: MediaFile[]) => console.log(data),
    (err: CaptureError) => console.error(err)
  );

Here is the link where you can find details

CorodvaCapacitor 请相应地关注。您可以在此链接中找到两者的指南。

【讨论】:

  • 我尝试了您发布的解决方案,但出现此错误:找不到模块 '@ionic-native/media-capture/ngx' 我尝试从路径中删除 /ngx。该应用程序在开始时崩溃并显示此错误:
  • Uncaught TypeError: Object(...) is not a function at index.js:162 at Module../node_modules/@ionic-native/media-capture/index.js (index.js :247) 在 webpack_require (bootstrap:84) 在 Module../src/app/service/camera.service.ts (auth.interceptor.ts:22) 在 webpack_require (bootstrap:84) 在 Module../src/app/service/ruby-api.service.ts (env.service.ts:6) 在 webpack_require (bootstrap:84) 在 Module. ./src/app/app.module.ts (app.component.ts:12) 在 webpack_require (bootstrap:84) 在 Module../src/main.ts (environment.ts:19 )
  • 你是否使用npm install @ionic-native/media-capture安装了这个
  • 是的,根据文档,我做到了
猜你喜欢
  • 1970-01-01
  • 2014-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-20
  • 1970-01-01
相关资源
最近更新 更多