taro-hooks
Version:
为 Taro 而设计的 Hooks Library
37 lines (36 loc) • 1.16 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var tslib_1 = require("tslib");
var taro_1 = require("@tarojs/taro");
var core_1 = require("@taro-hooks/core");
var usePromise_1 = tslib_1.__importDefault(require("../usePromise"));
function useCamera() {
var cameraContext = (0, core_1.useRef)((0, taro_1.createCameraContext)());
var zoomAsync = (0, usePromise_1["default"])(cameraContext.current.setZoom);
var zoom = function zoom(zoomNumber) {
return zoomAsync({
zoom: zoomNumber
});
};
var start = (0, usePromise_1["default"])(cameraContext.current.startRecord);
var stopAsync = (0, usePromise_1["default"])(cameraContext.current.stopRecord);
var stop = function stop(compressed) {
return stopAsync({
compressed: compressed
});
};
var take = (0, usePromise_1["default"])(cameraContext.current.takePhoto);
var listener = function listener(callback) {
return cameraContext.current.onCameraFrame(callback);
};
return [cameraContext.current, {
zoom: zoom,
start: start,
stop: stop,
take: take,
listener: listener
}];
}
exports["default"] = useCamera;
;