如何在Ionic 2中使用相机?

时间:2016-02-21 20:18:57

标签: javascript ionic-framework ionic2

有没有办法在Ionic 2应用程序中使用相机?

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

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Angular 2的优点在于现在它正在使用Zones,因此人们不必以Angular方式重写内容(如整个ng-cordova库),因为Angular 2知道在其上下文中执行的内容。

要使用相机(或任何其他cordova插件),您可以阅读正常的cordova文档https://github.com/apache/cordova-plugin-camera#module_camera.getPicture。您可以使用cameraoptions调用getPicture,1是调用摄像头,0调用库(已存在的照片)。该链接包含Camera.PictureSourceType:enum的文档。

您可以在@Injectable()服务中使用此插件,并将其注入您需要的每个组件中。也低于您的出口类"你可以"声明var navigator:any"所以打字稿不会抱怨。

以下是我用来访问相机的整个代码: http://prntscr.com/a6xvzq

答案 1 :(得分:0)

重要信息获取插件: 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)
    );

  }
}