有没有办法在Ionic 2应用程序中使用相机?
有能力安装Cordova插件,但据我所知,Ionic 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)
);
}
}