Получение сообщения «Uncaught (в обещании): TypeError: Object (...) не является функцией» Ошибка из плагина Ionic-native VideoEditor - PullRequest
0 голосов
/ 31 января 2019

Я занимаюсь разработкой ионного приложения, в котором пользователь может записывать новое видео.Затем я хочу разбить видео на кадры и отправить кадры на сервер.Я использую функцию createThumbnail из плагина ionic-native VideoEditor.Но когда я пытаюсь вызвать функцию createThumbnail, она выдает

ОШИБКА Ошибка: Uncaught (в обещании): TypeError: Object (...) не является функцией

Вот мой исходный код.

HTML-код

<ion-content padding>
  <button ion-button full (click)="captureVideo()">Capture video</button>
  <br/>
  <ion-list>
    <ion-item *ngFor="let file of mediaFiles" tappable (click)="playFile(file)" text-wrap>
      {{file.name}}
      <p>{{file.size/1000/1000 | number}} MB</p>
    </ion-item>
  </ion-list>
  <video controls autoplay #myvideo></video>
</ion-content>

Код TypeScript

captureVideo() {
    let options: CaptureVideoOptions = {
      limit: 1,
      duration: 30
    }
    this.mediaCapture.captureVideo(options).then((res: MediaFile[]) => {

      let videoData = JSON.stringify(res);
      let res1 = JSON.parse(videoData);
      this.videoURL = res1[0]['fullPath'];

      let video = this.myvideo.nativeElement;
      video.src =  this.videoURL;
      video.play();

      var option: CreateThumbnailOptions = {
        fileUri: res[0].fullPath,
        outputFileName: 'aaaa',
        atTime: 2,
        width: 320,
        height: 480,
        quality: 100
      };
      console.log("option :" ,option);
      this.videoEditor.createThumbnail(option).then(res=>{
        console.log('Thumbnail result: ' + res);
      }).catch(err=>{
        console.log("ERROR ERROR", err)
      });

    }, (err) => {
      console.log("ERROR", "error selecting video");
    });
  }

Может кто-нибудь мне помочь, почему я получаю такую ​​ошибку?

1 Ответ

0 голосов
/ 01 февраля 2019

Кажется, ионная команда внесла некоторые изменения в свои родные плагины.Вам необходимо установить правильную версию собственного плагина, соответствующую вашему типу проекта.И импортируйте его правильно, основываясь на вашей угловой версии.Все, что вам нужно сделать, это,

Проверьте ваш тип проекта в ionic.config.json файле.

Если тип " ionic-angular", затем установите версию 4.xx.В вашем случае

npm i -s @ionic-native/video-editor@4.20.0

Если тип " angular ", то установите версию 5.xx-beta

npm i -s @ionic-native/video-editor@5.0.0-beta.24

Примечание:

Добавьте ngx в конце импорта, только если вы используете Angular 6

import { VideoEditor } from '@ionic-native/video-editor/ngx';

, если не удалите ngx из импорта как в app.module.ts, так и в app.component.ts.

import { VideoEditor } from '@ionic-native/video-editor';

Refencence : https://github.com/ionic-team/ionic/issues/15225#issuecomment-414074074

...