UNPKG

taro-hooks

Version:
31 lines 928 B
import { createCameraContext } from '@tarojs/taro'; import { useRef } from '@taro-hooks/core'; import usePromise from '../usePromise'; function useCamera() { var cameraContext = useRef(createCameraContext()); var zoomAsync = usePromise(cameraContext.current.setZoom); var zoom = function zoom(zoomNumber) { return zoomAsync({ zoom: zoomNumber }); }; var start = usePromise(cameraContext.current.startRecord); var stopAsync = usePromise(cameraContext.current.stopRecord); var stop = function stop(compressed) { return stopAsync({ compressed: compressed }); }; var take = usePromise(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 }]; } export default useCamera;