Ionic 4 - Камера - Ошибка выполнения - Объект (...) не является функцией - PullRequest
1 голос
/ 23 апреля 2019

Я создаю приложение Ionic с функцией камеры. Я использовал для этого документ от ionic-framework Ионная родная камера

Но я получаю сообщение об ошибке, когда пытаюсь отобразить приложение на своем устройстве Android и нажимаю кнопку "Сфотографируйся" .

Error

"Runtime Error Object(…) is not a function"

"TypeError: Object(…) is not a function at Camera.getPicture"

home.ts


import { Component } from '@angular/core';
import { NavController, PopoverController, ViewController } from 'ionic-angular';
import { UserServiceProvider } from './../../providers/user-service/user-service';
import { Camera, CameraOptions, DestinationType, EncodingType, MediaType } from '@ionic-native/camera/ngx';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html',
})
export class HomePage {

  constructor(public navCtrl: NavController, public popoverCtrl: PopoverController, private camera:Camera) {}

  myPhoto:any=''

  takePicture(){
    const options: CameraOptions = {
      quality:100,
      destinationType: this.camera.DestinationType.FILE_URI,
      encodingType: this.camera.EncodingType.JPEG,
      mediaType: this.camera.MediaType.PICTURE
    }

    this.camera.getPicture(options).then((imageData)=>{
      this.myPhoto=(<any>window).Ionic.WebView.convertFileSrc(imageData);
    }, (err) => {
      // Error log
    });
  }

  openMoreSetting(event) {
    let popover = this.popoverCtrl.create(PopoverPage);
    popover.present({
      ev: event
    });
  }
}


@Component({
  template: `
    <ion-list>
      <button ion-item>Menu für Settings</button>
    </ion-list>
  `
})
export class PopoverPage {
  constructor(private userServiceProvider: UserServiceProvider,
    private viewCtrl: ViewController) {
  }

  close() {
    this.viewCtrl.dismiss();
  }
}

1 Ответ

0 голосов
/ 23 апреля 2019

Кажется, та же проблема, что у меня была на прошлой неделе в одном из моих приложений.

Вы должны лучше использовать cordova-plugin-camera-preview вместо cordova-plugin-camera для управления камерой в ионном режиме.

Вы можете следовать инструкциям здесь

...