npm i --save nativescript-na-camera
- 版本:1.2.0
- GitHub:
- NPM: https://npmjs.net.cn/package/nativescript-na-camera
- 下载量
- 昨天:0
- 上周:0
- 上个月:0
NativeScript NA Camera 插件
注意!目前不支持 Android。
一个使用 AVFoundation 为 iOS 的 NativeScript 相机。
安装
$ tns plugin add nativescript-na-camera
使用方法
XML
<Page navigatingTo="navigatingTo" xmlns:NACamera="nativescript-na-camera">
<StackLayout>
<NACamera:Camera id="cameraPreview" />
<Button text="Capture" id="capturePhoto" tap="capturePhoto" />
<Button text="New photo" id="newPhoto" tap="newPhoto" />
</StackLayout>
</Page>
JS
var NACamera = require("nativescript-na-camera");
var page;
exports.navigatingTo = function(args) {
page = args.object;
NACamera.start();
};
exports.capturePhoto = function(args) {
NACamera.capturePhoto({
saveToLibrary: true
}).then(function(image, savedToLibrary) {
NACamera.stop();
if(savedToLibrary) console.log("Photo was saved to library!");
// Do something more...
}, function(error) {
console.error(error);
});
};
exports.newPhoto = function(args) {
NACamera.start();
};
注意! NACamera.start()
必须被触发以启动相机预览。一旦预览在 UI 中不可见,建议使用 NACamera.stop()
停止相机。
方法
capturePhoto()
捕获照片。
捕获照片的分辨率是相机预览的比例。
capturePhoto(props)
- props - 设置任何捕获属性(可选)。
- saveToLibrary - 在捕获后保存照片到图库(默认为
false
)。 - mirrorCorrection - 当使用前置摄像头捕获时纠正镜像(默认为
true
)。 - playSound - 播放捕获声音(默认为
true
)。 - simulatorDebug - 用于测试无法获取摄像头设备的模拟器(默认为
false
)。 - simulatorImage - 图像源(默认为空字符串)。
- saveToLibrary - 在捕获后保存照片到图库(默认为
- 返回一个 then promise
- resolve
- image - 捕获的照片作为图像源。
- savedToLibrary - 对
props.saveToLibrary
的引用,可以是true
或false
。
- reject
- error - 错误信息。
- resolve
NACamera.capturePhoto({
saveToLibrary: true
}).then(function(image, savedToLibrary) {
NACamera.stop();
if(savedToLibrary) console.log("Photo was saved to library!");
// Do something more...
}, function(error) {
console.error(error);
});
saveToLibrary()
将图像保存到图库。
saveToLibrary(image)
- image - 应该保存到图库的图像源。
- 返回
true
。
NACamera.saveToLibrary(image);
setTorchMode()
设置手电筒模式(如果可用)。
setTorchMode(condition)
- condition - 布尔值。
- 根据可用性返回
true
或false
。
NACamera.setTorchMode(true); // Torch on
NACamera.setTorchMode(false); // Torch off
setFlashMode()
设置闪光灯模式(如果可用)。
setFlashMode(condition)
- condition - 布尔值。
- 根据可用性返回
true
或false
。
NACamera.setFlashMode(true); // Flash on
NACamera.setFlashMode(false); // Flash off
setDevicePosition()
设置摄像头设备位置(后置或前置摄像头,如果可用)。
setDevicePosition(position)
- position - 字符串值。必须是
"back"
或"front"
。 - 根据可用性返回
true
或false
。
NACamera.setDevicePosition("back"); // Back camera
NACamera.setDevicePosition("front"); // Front camera
hasDevicePosition()
检查摄像头设备位置是否可用。
hasDevicePosition(position)
- position - 字符串值。必须是
"back"
或"front"
。 - 根据可用性返回
true
或false
。
var hasBackCamera = NACamera.hasDevicePosition("back");
var hasFrontCamera = NACamera.hasDevicePosition("front");
其他方法
start()
- 开始相机会话。- 返回
boolean
- 返回
stop()
- 停止相机会话。- 返回
boolean
- 返回
devicesAvailable()
- 检查是否有任何摄像头可用。- 返回
boolean
- 返回
getTorchMode()
- 获取当前手电筒模式。- 返回
boolean
- 返回
hasTorchMode()
- 检查当前设备位置是否具有手电筒。- 返回
boolean
- 返回
getFlashMode()
- 获取当前闪光灯模式。- 返回
boolean
- 返回
hasFlashMode()
- 检查当前设备位置是否具有闪光灯。- 返回
boolean
- 返回
getDevicePosition()
- 检查当前设备位置是否为后置或前置。- 返回
"back"
或"front"
- 返回
已知问题
- 目前不支持 Android 兼容性。
待办事项列表
- 视频录制
如果您有其他想法,请提交问题!
历史记录
版本 1.1.0(2016 年 11 月 21 日)
- 捏合缩放功能
- 点击对焦功能
- 在捕获前置摄像头时添加了镜像纠正属性(见
capturePhoto()
文档)。
版本 1.0.0(2016 年 11 月 10 日)
- 首次发布!
鸣谢
许可
MIT - 用于 {N} 版本 2.0.0+