Getting "Uncaught (in promise): TypeError: Object(...) is not a function" Error from Ionic-native VideoEditor Plugin
Getting "Uncaught (in promise): TypeError: Object(...) is not a function" Error from Ionic-native VideoEditor Plugin
我正在开发一个离子应用程序,用户可以在其中录制新视频。然后我想将视频分成帧并将帧发送到服务器。我正在使用 ionic-native
VideoEditor
插件中的 createThumbnail
函数。但是当我尝试调用 createThumbnail
函数时,它会抛出
ERROR Error: Uncaught (in promise): TypeError: Object(...) is not a function
这是我的源代码。
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");
});
}
有人可以帮助我,为什么我会收到这样的错误?
ionic 团队似乎对他们的原生插件做了一些更改。您需要安装与您的项目类型相对应的正确版本的本机插件。并根据您的 angular 版本正确导入它。你需要做的就是,
在 ionic.config.json 文件中检查您的项目类型。
如果类型是“ionic-angular”,则安装4.x.x版本。你的情况
npm i -s @ionic-native/video-editor@4.20.0
如果类型是“angular”,则安装5.x.x-测试版
npm i -s @ionic-native/video-editor@5.0.0-beta.24
注:
仅当您使用 Angular 6
时才在导入末尾添加 ngx
import { VideoEditor } from '@ionic-native/video-editor/ngx';
如果不在 app.module.ts 和 app.component.ts
中从导入中删除 ngx
import { VideoEditor } from '@ionic-native/video-editor';
引用:https://github.com/ionic-team/ionic/issues/15225#issuecomment-414074074
我正在开发一个离子应用程序,用户可以在其中录制新视频。然后我想将视频分成帧并将帧发送到服务器。我正在使用 ionic-native
VideoEditor
插件中的 createThumbnail
函数。但是当我尝试调用 createThumbnail
函数时,它会抛出
ERROR Error: Uncaught (in promise): TypeError: Object(...) is not a function
这是我的源代码。
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");
});
}
有人可以帮助我,为什么我会收到这样的错误?
ionic 团队似乎对他们的原生插件做了一些更改。您需要安装与您的项目类型相对应的正确版本的本机插件。并根据您的 angular 版本正确导入它。你需要做的就是,
在 ionic.config.json 文件中检查您的项目类型。
如果类型是“ionic-angular”,则安装4.x.x版本。你的情况
npm i -s @ionic-native/video-editor@4.20.0
如果类型是“angular”,则安装5.x.x-测试版
npm i -s @ionic-native/video-editor@5.0.0-beta.24
注:
仅当您使用 Angular 6
时才在导入末尾添加 ngximport { VideoEditor } from '@ionic-native/video-editor/ngx';
如果不在 app.module.ts 和 app.component.ts
中从导入中删除 ngximport { VideoEditor } from '@ionic-native/video-editor';
引用:https://github.com/ionic-team/ionic/issues/15225#issuecomment-414074074