angular typescript ionic-framework ionic3 ionic4

angular - Obteniendo el mensaje "Uncaught(in promise): TypeError: Object(…) no es una función" Error del complemento de VideoEditor nativo iónico



typescript ionic-framework (1)

Estoy desarrollando una aplicación iónica, donde el usuario puede grabar un nuevo video. Luego quiero dividir el video en marcos y enviar marcos a un servidor. Estoy usando la función VideoEditor complemento VideoEditor ionic-native VideoEditor . Pero cuando trato de llamar a la función createThumbnail , lanza

Error de ERROR: No detectado (en promesa): Error de tipo: El objeto (...) no es una función

Aquí está mi código fuente.

código 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>

Código 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"); }); }

¿Puede alguien ayudarme con, por qué estoy recibiendo tal error?


Parece que el equipo iónico ha hecho algunos cambios en sus complementos nativos. Debe instalar la versión correcta del complemento nativo correspondiente a su tipo de proyecto. E importarlo correctamente en función de su versión angular. Todo lo que necesitas hacer es

Verifique su tipo de proyecto en el archivo ionic.config.json .

Si el tipo es " iónico-angular ", instale la versión 4.xx. En tu caso

npm i -s @ionic-native/[email protected]

Si el tipo es " angular ", instale la versión 5.xx-beta

npm i -s @ionic-native/[email protected]

Nota:

Agregue ngx al final de la importación solo si está usando Angular 6

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

Si no es así, elimine ngx de la importación tanto en app.module.ts como en app.component.ts.

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

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