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