如何在 Ionic 2 中使用相机?

How to use Camera inside of Ionic 2?

有什么方法可以在 Ionic 2 应用程序中使用相机吗?

可以安装 Cordova 插件,但据我所知没有关于 Ionic 2 的文档。

有什么想法吗?

Angular 2 的美妙之处在于它现在使用区域,因此人们不必以 Angular 方式重写内容(就像整个 ng-cordova 库一样),因为 Angular 2 知道在其上下文中执行的内容。

要使用相机(或任何其他 cordova 插件),您可以阅读普通的 cordova 文档 https://github.com/apache/cordova-plugin-camera#module_camera.getPicture。可以调用带cameraoptions的getPicture,1是调用相机,0是调用图库(已有照片)。 link 包含 Camera.PictureSourceType 的文档:枚举。

您可以在@Injectable() 服务中使用此插件并将其注入到您需要的每个组件中。在你的 "export class" 下面你可以 "declare var navigator: any" 这样 typescript 就不会抱怨了。

这是我用来访问相机的完整代码: http://prntscr.com/a6xvzq

重要获取插件: https://ionicframework.com/docs/native/media-capture/

然后试试这个代码:

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { MediaCapture, MediaFile, CaptureError, CaptureVideoOptions } from 'ionic-native';


@IonicPage()
@Component({ your component's'
})
export class yourPage {

  constructor(public navCtrl: NavController, public navParams: NavParams) {

  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad PageLoaded');

    //call function camera
    this.GetVideo();
  }
   //Function open camera on View is full loaded.
  public GetVideo() {
    let options: CaptureVideoOptions = { limit: 1 };
    MediaCapture.captureVideo(options).then(
      (data: MediaFile[]) => console.log(data),
      (err: CaptureError) => console.error(err)
    );

  }
}