如何在 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)
);
}
}
有什么方法可以在 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)
);
}
}