@unif/react-native-camera 1.2.6 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +92 -22
- package/lib/module/camera/Camera.js +163 -285
- package/lib/module/camera/Camera.js.map +1 -1
- package/lib/module/camera/Container.js +209 -49
- package/lib/module/camera/Container.js.map +1 -1
- package/lib/module/camera/Error.js +23 -18
- package/lib/module/camera/Error.js.map +1 -1
- package/lib/module/camera/FocusIndicator.js +35 -41
- package/lib/module/camera/FocusIndicator.js.map +1 -1
- package/lib/module/camera/ModalView.js +28 -21
- package/lib/module/camera/ModalView.js.map +1 -1
- package/lib/module/camera/NoCamera.js +38 -14
- package/lib/module/camera/NoCamera.js.map +1 -1
- package/lib/module/camera/NoPermission.js +44 -38
- package/lib/module/camera/NoPermission.js.map +1 -1
- package/lib/module/camera/capturePhotoHelper.js +24 -0
- package/lib/module/camera/capturePhotoHelper.js.map +1 -0
- package/lib/module/camera/footer/Footer.js +83 -140
- package/lib/module/camera/footer/Footer.js.map +1 -1
- package/lib/module/camera/footer/index.js +3 -2
- package/lib/module/camera/footer/index.js.map +1 -1
- package/lib/module/camera/index.js +11 -13
- package/lib/module/camera/index.js.map +1 -1
- package/lib/module/camera/preview/PreView.js +36 -93
- package/lib/module/camera/preview/PreView.js.map +1 -1
- package/lib/module/camera/preview/PreViewContainer.js +28 -29
- package/lib/module/camera/preview/PreViewContainer.js.map +1 -1
- package/lib/module/camera/preview/PreviewFooter.js +30 -21
- package/lib/module/camera/preview/PreviewFooter.js.map +1 -1
- package/lib/module/camera/preview/SinglePre.js +28 -60
- package/lib/module/camera/preview/SinglePre.js.map +1 -1
- package/lib/module/camera/preview/index.js +6 -12
- package/lib/module/camera/preview/index.js.map +1 -1
- package/lib/module/camera/setup/SetUp.js +67 -189
- package/lib/module/camera/setup/SetUp.js.map +1 -1
- package/lib/module/camera/setup/index.js +3 -2
- package/lib/module/camera/setup/index.js.map +1 -1
- package/lib/module/components/Carousel/Carousel.js +33 -40
- package/lib/module/components/Carousel/Carousel.js.map +1 -1
- package/lib/module/components/Carousel/SlideItem.js +22 -70
- package/lib/module/components/Carousel/SlideItem.js.map +1 -1
- package/lib/module/components/Carousel/index.js +4 -11
- package/lib/module/components/Carousel/index.js.map +1 -1
- package/lib/module/components/Loading.js +15 -61
- package/lib/module/components/Loading.js.map +1 -1
- package/lib/module/components/PreviewThumbnail.js +36 -33
- package/lib/module/components/PreviewThumbnail.js.map +1 -1
- package/lib/module/components/index.js +5 -8
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/hooks/index.js +5 -11
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useCamera.js +44 -0
- package/lib/module/hooks/useCamera.js.map +1 -0
- package/lib/module/hooks/useConfirm.js +13 -49
- package/lib/module/hooks/useConfirm.js.map +1 -1
- package/lib/module/hooks/useCreation.js +18 -0
- package/lib/module/hooks/useCreation.js.map +1 -0
- package/lib/module/index.js +4 -24
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/utils/depsAreSame.js +7 -4
- package/lib/module/utils/depsAreSame.js.map +1 -1
- package/lib/module/utils/index.js +6 -14
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/interface.js +1 -21
- package/lib/module/utils/interface.js.map +1 -1
- package/lib/module/utils/px-to-dp.js +6 -10
- package/lib/module/utils/px-to-dp.js.map +1 -1
- package/lib/module/utils/util.js +16 -40
- package/lib/module/utils/util.js.map +1 -1
- package/lib/typescript/jest.setup.d.ts +1 -0
- package/lib/typescript/jest.setup.d.ts.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/camera/Camera.d.ts +18 -10
- package/lib/typescript/src/camera/Camera.d.ts.map +1 -1
- package/lib/typescript/src/camera/Container.d.ts +7 -5
- package/lib/typescript/src/camera/Container.d.ts.map +1 -1
- package/lib/typescript/src/camera/Error.d.ts +3 -7
- package/lib/typescript/src/camera/Error.d.ts.map +1 -1
- package/lib/typescript/src/camera/FocusIndicator.d.ts +7 -7
- package/lib/typescript/src/camera/FocusIndicator.d.ts.map +1 -1
- package/lib/typescript/src/camera/ModalView.d.ts +7 -4
- package/lib/typescript/src/camera/ModalView.d.ts.map +1 -1
- package/lib/typescript/src/camera/NoCamera.d.ts +5 -3
- package/lib/typescript/src/camera/NoCamera.d.ts.map +1 -1
- package/lib/typescript/src/camera/NoPermission.d.ts +6 -3
- package/lib/typescript/src/camera/NoPermission.d.ts.map +1 -1
- package/lib/typescript/src/camera/capturePhotoHelper.d.ts +16 -0
- package/lib/typescript/src/camera/capturePhotoHelper.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/Footer.d.ts +13 -15
- package/lib/typescript/src/camera/footer/Footer.d.ts.map +1 -1
- package/lib/typescript/src/camera/footer/index.d.ts +1 -2
- package/lib/typescript/src/camera/footer/index.d.ts.map +1 -1
- package/lib/typescript/src/camera/index.d.ts +9 -5
- package/lib/typescript/src/camera/index.d.ts.map +1 -1
- package/lib/typescript/src/camera/preview/PreView.d.ts +6 -9
- package/lib/typescript/src/camera/preview/PreView.d.ts.map +1 -1
- package/lib/typescript/src/camera/preview/PreViewContainer.d.ts +8 -5
- package/lib/typescript/src/camera/preview/PreViewContainer.d.ts.map +1 -1
- package/lib/typescript/src/camera/preview/PreviewFooter.d.ts +6 -6
- package/lib/typescript/src/camera/preview/PreviewFooter.d.ts.map +1 -1
- package/lib/typescript/src/camera/preview/SinglePre.d.ts +5 -28
- package/lib/typescript/src/camera/preview/SinglePre.d.ts.map +1 -1
- package/lib/typescript/src/camera/preview/index.d.ts +4 -4
- package/lib/typescript/src/camera/preview/index.d.ts.map +1 -1
- package/lib/typescript/src/camera/setup/SetUp.d.ts +12 -11
- package/lib/typescript/src/camera/setup/SetUp.d.ts.map +1 -1
- package/lib/typescript/src/camera/setup/index.d.ts +1 -2
- package/lib/typescript/src/camera/setup/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Carousel/Carousel.d.ts +6 -8
- package/lib/typescript/src/components/Carousel/Carousel.d.ts.map +1 -1
- package/lib/typescript/src/components/Carousel/SlideItem.d.ts +4 -12
- package/lib/typescript/src/components/Carousel/SlideItem.d.ts.map +1 -1
- package/lib/typescript/src/components/Carousel/index.d.ts +2 -3
- package/lib/typescript/src/components/Carousel/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Loading.d.ts +1 -3
- package/lib/typescript/src/components/Loading.d.ts.map +1 -1
- package/lib/typescript/src/components/PreviewThumbnail.d.ts +7 -8
- package/lib/typescript/src/components/PreviewThumbnail.d.ts.map +1 -1
- package/lib/typescript/src/components/index.d.ts +2 -7
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/index.d.ts +3 -3
- package/lib/typescript/src/hooks/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useCamera.d.ts +4 -0
- package/lib/typescript/src/hooks/useCamera.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useConfirm.d.ts +1 -5
- package/lib/typescript/src/hooks/useConfirm.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useCreation.d.ts +2 -0
- package/lib/typescript/src/hooks/useCreation.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -4
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/depsAreSame.d.ts +1 -2
- package/lib/typescript/src/utils/depsAreSame.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts +2 -4
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/interface.d.ts +30 -70
- package/lib/typescript/src/utils/interface.d.ts.map +1 -1
- package/lib/typescript/src/utils/px-to-dp.d.ts +1 -3
- package/lib/typescript/src/utils/px-to-dp.d.ts.map +1 -1
- package/lib/typescript/src/utils/util.d.ts +8 -9
- package/lib/typescript/src/utils/util.d.ts.map +1 -1
- package/package.json +120 -107
- package/src/camera/Camera.tsx +210 -331
- package/src/camera/Container.tsx +224 -50
- package/src/camera/Error.tsx +22 -23
- package/src/camera/FocusIndicator.tsx +36 -46
- package/src/camera/ModalView.tsx +26 -24
- package/src/camera/NoCamera.tsx +37 -14
- package/src/camera/NoPermission.tsx +45 -37
- package/src/camera/capturePhotoHelper.ts +37 -0
- package/src/camera/footer/Footer.tsx +104 -195
- package/src/camera/footer/index.tsx +1 -2
- package/src/camera/index.tsx +12 -13
- package/src/camera/preview/PreView.tsx +22 -103
- package/src/camera/preview/PreViewContainer.tsx +23 -27
- package/src/camera/preview/PreviewFooter.tsx +28 -22
- package/src/camera/preview/SinglePre.tsx +23 -68
- package/src/camera/preview/index.tsx +4 -13
- package/src/camera/setup/SetUp.tsx +80 -217
- package/src/camera/setup/index.tsx +1 -3
- package/src/components/Carousel/Carousel.tsx +22 -42
- package/src/components/Carousel/SlideItem.tsx +12 -87
- package/src/components/Carousel/index.tsx +2 -13
- package/src/components/Loading.tsx +7 -69
- package/src/components/PreviewThumbnail.tsx +38 -33
- package/src/components/index.tsx +2 -7
- package/src/hooks/index.ts +3 -12
- package/src/hooks/useCamera.tsx +42 -0
- package/src/hooks/useConfirm.tsx +10 -57
- package/src/hooks/useCreation.ts +26 -0
- package/src/index.tsx +3 -37
- package/src/utils/depsAreSame.ts +7 -8
- package/src/utils/index.ts +2 -12
- package/src/utils/interface.ts +26 -87
- package/src/utils/px-to-dp.tsx +5 -9
- package/src/utils/util.ts +17 -42
- package/UnifRNCamera.podspec +0 -41
- package/android/CMakeLists.txt +0 -15
- package/android/build.gradle +0 -124
- package/android/cpp-adapter.cpp +0 -8
- package/android/gradle.properties +0 -5
- package/android/src/main/AndroidManifest.xml +0 -3
- package/android/src/main/AndroidManifestNew.xml +0 -2
- package/android/src/main/java/com/unif/reactnativecamera/ReactNativeCameraModule.java +0 -34
- package/android/src/main/java/com/unif/reactnativecamera/ReactNativeCameraPackage.java +0 -45
- package/android/src/newarch/ReactNativeCameraSpec.java +0 -9
- package/android/src/oldarch/ReactNativeCameraSpec.java +0 -13
- package/cpp/unif-react-native-camera.cpp +0 -7
- package/cpp/unif-react-native-camera.h +0 -8
- package/ios/ReactNativeCamera.h +0 -15
- package/ios/ReactNativeCamera.mm +0 -51
- package/lib/commonjs/NativeReactNativeCamera.js +0 -17
- package/lib/commonjs/NativeReactNativeCamera.js.map +0 -1
- package/lib/commonjs/assets/close.png +0 -0
- package/lib/commonjs/assets/home/record.png +0 -0
- package/lib/commonjs/assets/home/take.png +0 -0
- package/lib/commonjs/assets/preview/back.png +0 -0
- package/lib/commonjs/assets/preview/del.png +0 -0
- package/lib/commonjs/assets/preview/rotate.png +0 -0
- package/lib/commonjs/assets/preview/save.png +0 -0
- package/lib/commonjs/assets/tools/auto.png +0 -0
- package/lib/commonjs/assets/tools/defaultEye.png +0 -0
- package/lib/commonjs/assets/tools/enlarge.png +0 -0
- package/lib/commonjs/assets/tools/fishEye.png +0 -0
- package/lib/commonjs/assets/tools/narrow.png +0 -0
- package/lib/commonjs/assets/tools/off.png +0 -0
- package/lib/commonjs/assets/tools/on.png +0 -0
- package/lib/commonjs/assets/tools/volumeOff.png +0 -0
- package/lib/commonjs/assets/tools/volumeOn.png +0 -0
- package/lib/commonjs/camera/Camera.js +0 -316
- package/lib/commonjs/camera/Camera.js.map +0 -1
- package/lib/commonjs/camera/Container.js +0 -64
- package/lib/commonjs/camera/Container.js.map +0 -1
- package/lib/commonjs/camera/Error.js +0 -30
- package/lib/commonjs/camera/Error.js.map +0 -1
- package/lib/commonjs/camera/FocusIndicator.js +0 -64
- package/lib/commonjs/camera/FocusIndicator.js.map +0 -1
- package/lib/commonjs/camera/ModalView.js +0 -37
- package/lib/commonjs/camera/ModalView.js.map +0 -1
- package/lib/commonjs/camera/NoCamera.js +0 -23
- package/lib/commonjs/camera/NoCamera.js.map +0 -1
- package/lib/commonjs/camera/NoPermission.js +0 -50
- package/lib/commonjs/camera/NoPermission.js.map +0 -1
- package/lib/commonjs/camera/footer/Footer.js +0 -159
- package/lib/commonjs/camera/footer/Footer.js.map +0 -1
- package/lib/commonjs/camera/footer/index.js +0 -14
- package/lib/commonjs/camera/footer/index.js.map +0 -1
- package/lib/commonjs/camera/index.js +0 -35
- package/lib/commonjs/camera/index.js.map +0 -1
- package/lib/commonjs/camera/preview/PreView.js +0 -109
- package/lib/commonjs/camera/preview/PreView.js.map +0 -1
- package/lib/commonjs/camera/preview/PreViewContainer.js +0 -42
- package/lib/commonjs/camera/preview/PreViewContainer.js.map +0 -1
- package/lib/commonjs/camera/preview/PreviewFooter.js +0 -35
- package/lib/commonjs/camera/preview/PreviewFooter.js.map +0 -1
- package/lib/commonjs/camera/preview/SinglePre.js +0 -72
- package/lib/commonjs/camera/preview/SinglePre.js.map +0 -1
- package/lib/commonjs/camera/preview/index.js +0 -28
- package/lib/commonjs/camera/preview/index.js.map +0 -1
- package/lib/commonjs/camera/setup/SetUp.js +0 -205
- package/lib/commonjs/camera/setup/SetUp.js.map +0 -1
- package/lib/commonjs/camera/setup/index.js +0 -14
- package/lib/commonjs/camera/setup/index.js.map +0 -1
- package/lib/commonjs/camera/watermark/Render.js +0 -110
- package/lib/commonjs/camera/watermark/Render.js.map +0 -1
- package/lib/commonjs/camera/watermark/ViewShotWatermark.js +0 -143
- package/lib/commonjs/camera/watermark/ViewShotWatermark.js.map +0 -1
- package/lib/commonjs/camera/watermark/index.js +0 -21
- package/lib/commonjs/camera/watermark/index.js.map +0 -1
- package/lib/commonjs/components/Back.js +0 -48
- package/lib/commonjs/components/Back.js.map +0 -1
- package/lib/commonjs/components/Carousel/Carousel.js +0 -51
- package/lib/commonjs/components/Carousel/Carousel.js.map +0 -1
- package/lib/commonjs/components/Carousel/SlideItem.js +0 -84
- package/lib/commonjs/components/Carousel/SlideItem.js.map +0 -1
- package/lib/commonjs/components/Carousel/index.js +0 -21
- package/lib/commonjs/components/Carousel/index.js.map +0 -1
- package/lib/commonjs/components/Delete.js +0 -36
- package/lib/commonjs/components/Delete.js.map +0 -1
- package/lib/commonjs/components/Loading.js +0 -75
- package/lib/commonjs/components/Loading.js.map +0 -1
- package/lib/commonjs/components/Modal/Confirm.js +0 -121
- package/lib/commonjs/components/Modal/Confirm.js.map +0 -1
- package/lib/commonjs/components/Modal/index.js +0 -14
- package/lib/commonjs/components/Modal/index.js.map +0 -1
- package/lib/commonjs/components/PreviewThumbnail.js +0 -44
- package/lib/commonjs/components/PreviewThumbnail.js.map +0 -1
- package/lib/commonjs/components/Rotate.js +0 -32
- package/lib/commonjs/components/Rotate.js.map +0 -1
- package/lib/commonjs/components/Save.js +0 -48
- package/lib/commonjs/components/Save.js.map +0 -1
- package/lib/commonjs/components/index.js +0 -73
- package/lib/commonjs/components/index.js.map +0 -1
- package/lib/commonjs/hooks/index.js +0 -21
- package/lib/commonjs/hooks/index.js.map +0 -1
- package/lib/commonjs/hooks/useCamera.tsx/index.js +0 -90
- package/lib/commonjs/hooks/useCamera.tsx/index.js.map +0 -1
- package/lib/commonjs/hooks/useConfirm.js +0 -61
- package/lib/commonjs/hooks/useConfirm.js.map +0 -1
- package/lib/commonjs/hooks/useCreation/index.js +0 -34
- package/lib/commonjs/hooks/useCreation/index.js.map +0 -1
- package/lib/commonjs/index.js +0 -39
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/utils/common.js +0 -69
- package/lib/commonjs/utils/common.js.map +0 -1
- package/lib/commonjs/utils/depsAreSame.js +0 -14
- package/lib/commonjs/utils/depsAreSame.js.map +0 -1
- package/lib/commonjs/utils/index.js +0 -72
- package/lib/commonjs/utils/index.js.map +0 -1
- package/lib/commonjs/utils/interface.js +0 -24
- package/lib/commonjs/utils/interface.js.map +0 -1
- package/lib/commonjs/utils/px-to-dp.js +0 -21
- package/lib/commonjs/utils/px-to-dp.js.map +0 -1
- package/lib/commonjs/utils/render-item.js +0 -40
- package/lib/commonjs/utils/render-item.js.map +0 -1
- package/lib/commonjs/utils/util.js +0 -53
- package/lib/commonjs/utils/util.js.map +0 -1
- package/lib/commonjs/utils/watermark.js +0 -49
- package/lib/commonjs/utils/watermark.js.map +0 -1
- package/lib/module/NativeReactNativeCamera.js +0 -12
- package/lib/module/NativeReactNativeCamera.js.map +0 -1
- package/lib/module/assets/close.png +0 -0
- package/lib/module/assets/home/record.png +0 -0
- package/lib/module/assets/home/take.png +0 -0
- package/lib/module/assets/preview/back.png +0 -0
- package/lib/module/assets/preview/del.png +0 -0
- package/lib/module/assets/preview/rotate.png +0 -0
- package/lib/module/assets/preview/save.png +0 -0
- package/lib/module/assets/tools/auto.png +0 -0
- package/lib/module/assets/tools/defaultEye.png +0 -0
- package/lib/module/assets/tools/enlarge.png +0 -0
- package/lib/module/assets/tools/fishEye.png +0 -0
- package/lib/module/assets/tools/narrow.png +0 -0
- package/lib/module/assets/tools/off.png +0 -0
- package/lib/module/assets/tools/on.png +0 -0
- package/lib/module/assets/tools/volumeOff.png +0 -0
- package/lib/module/assets/tools/volumeOn.png +0 -0
- package/lib/module/camera/watermark/Render.js +0 -102
- package/lib/module/camera/watermark/Render.js.map +0 -1
- package/lib/module/camera/watermark/ViewShotWatermark.js +0 -133
- package/lib/module/camera/watermark/ViewShotWatermark.js.map +0 -1
- package/lib/module/camera/watermark/index.js +0 -13
- package/lib/module/camera/watermark/index.js.map +0 -1
- package/lib/module/components/Back.js +0 -40
- package/lib/module/components/Back.js.map +0 -1
- package/lib/module/components/Delete.js +0 -28
- package/lib/module/components/Delete.js.map +0 -1
- package/lib/module/components/Modal/Confirm.js +0 -111
- package/lib/module/components/Modal/Confirm.js.map +0 -1
- package/lib/module/components/Modal/index.js +0 -3
- package/lib/module/components/Modal/index.js.map +0 -1
- package/lib/module/components/Rotate.js +0 -24
- package/lib/module/components/Rotate.js.map +0 -1
- package/lib/module/components/Save.js +0 -40
- package/lib/module/components/Save.js.map +0 -1
- package/lib/module/hooks/useCamera.tsx/index.js +0 -81
- package/lib/module/hooks/useCamera.tsx/index.js.map +0 -1
- package/lib/module/hooks/useCreation/index.js +0 -27
- package/lib/module/hooks/useCreation/index.js.map +0 -1
- package/lib/module/utils/common.js +0 -62
- package/lib/module/utils/common.js.map +0 -1
- package/lib/module/utils/render-item.js +0 -32
- package/lib/module/utils/render-item.js.map +0 -1
- package/lib/module/utils/watermark.js +0 -39
- package/lib/module/utils/watermark.js.map +0 -1
- package/lib/typescript/src/NativeReactNativeCamera.d.ts +0 -6
- package/lib/typescript/src/NativeReactNativeCamera.d.ts.map +0 -1
- package/lib/typescript/src/camera/watermark/Render.d.ts +0 -26
- package/lib/typescript/src/camera/watermark/Render.d.ts.map +0 -1
- package/lib/typescript/src/camera/watermark/ViewShotWatermark.d.ts +0 -41
- package/lib/typescript/src/camera/watermark/ViewShotWatermark.d.ts.map +0 -1
- package/lib/typescript/src/camera/watermark/index.d.ts +0 -4
- package/lib/typescript/src/camera/watermark/index.d.ts.map +0 -1
- package/lib/typescript/src/components/Back.d.ts +0 -20
- package/lib/typescript/src/components/Back.d.ts.map +0 -1
- package/lib/typescript/src/components/Delete.d.ts +0 -7
- package/lib/typescript/src/components/Delete.d.ts.map +0 -1
- package/lib/typescript/src/components/Modal/Confirm.d.ts +0 -9
- package/lib/typescript/src/components/Modal/Confirm.d.ts.map +0 -1
- package/lib/typescript/src/components/Modal/index.d.ts +0 -3
- package/lib/typescript/src/components/Modal/index.d.ts.map +0 -1
- package/lib/typescript/src/components/Rotate.d.ts +0 -9
- package/lib/typescript/src/components/Rotate.d.ts.map +0 -1
- package/lib/typescript/src/components/Save.d.ts +0 -20
- package/lib/typescript/src/components/Save.d.ts.map +0 -1
- package/lib/typescript/src/hooks/useCamera.tsx/index.d.ts +0 -5
- package/lib/typescript/src/hooks/useCamera.tsx/index.d.ts.map +0 -1
- package/lib/typescript/src/hooks/useCreation/index.d.ts +0 -3
- package/lib/typescript/src/hooks/useCreation/index.d.ts.map +0 -1
- package/lib/typescript/src/utils/common.d.ts +0 -14
- package/lib/typescript/src/utils/common.d.ts.map +0 -1
- package/lib/typescript/src/utils/render-item.d.ts +0 -10
- package/lib/typescript/src/utils/render-item.d.ts.map +0 -1
- package/lib/typescript/src/utils/watermark.d.ts +0 -11
- package/lib/typescript/src/utils/watermark.d.ts.map +0 -1
- package/src/NativeReactNativeCamera.ts +0 -15
- package/src/assets/close.png +0 -0
- package/src/assets/home/record.png +0 -0
- package/src/assets/home/take.png +0 -0
- package/src/assets/preview/back.png +0 -0
- package/src/assets/preview/del.png +0 -0
- package/src/assets/preview/rotate.png +0 -0
- package/src/assets/preview/save.png +0 -0
- package/src/assets/tools/auto.png +0 -0
- package/src/assets/tools/defaultEye.png +0 -0
- package/src/assets/tools/enlarge.png +0 -0
- package/src/assets/tools/fishEye.png +0 -0
- package/src/assets/tools/narrow.png +0 -0
- package/src/assets/tools/off.png +0 -0
- package/src/assets/tools/on.png +0 -0
- package/src/assets/tools/volumeOff.png +0 -0
- package/src/assets/tools/volumeOn.png +0 -0
- package/src/camera/watermark/Render.tsx +0 -128
- package/src/camera/watermark/ViewShotWatermark.tsx +0 -134
- package/src/camera/watermark/index.tsx +0 -12
- package/src/components/Back.tsx +0 -37
- package/src/components/Delete.tsx +0 -30
- package/src/components/Modal/Confirm.tsx +0 -116
- package/src/components/Modal/index.tsx +0 -3
- package/src/components/Rotate.tsx +0 -32
- package/src/components/Save.tsx +0 -37
- package/src/hooks/useCamera.tsx/index.tsx +0 -95
- package/src/hooks/useCreation/index.ts +0 -25
- package/src/utils/common.ts +0 -67
- package/src/utils/render-item.tsx +0 -39
- package/src/utils/watermark.ts +0 -55
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2026 unif-design
|
|
4
4
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
5
|
of this software and associated documentation files (the "Software"), to deal
|
|
6
6
|
in the Software without restriction, including without limitation the rights
|
package/README.md
CHANGED
|
@@ -1,38 +1,108 @@
|
|
|
1
1
|
# @unif/react-native-camera
|
|
2
2
|
|
|
3
|
-
camera
|
|
3
|
+
基于 [react-native-vision-camera](https://github.com/mrousavy/react-native-vision-camera) 5.x 构建的 React Native 相机库,提供模态化相机界面,支持单拍 / 连拍 / 视频录制 / 捏合变焦 / 镜头切换 / 点击对焦。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 安装
|
|
6
6
|
|
|
7
7
|
```sh
|
|
8
|
-
|
|
8
|
+
yarn add @unif/react-native-camera \
|
|
9
|
+
react-native-vision-camera \
|
|
10
|
+
react-native-nitro-modules \
|
|
11
|
+
react-native-nitro-image \
|
|
12
|
+
react-native-reanimated \
|
|
13
|
+
react-native-worklets \
|
|
14
|
+
react-native-reanimated-carousel \
|
|
15
|
+
react-native-gesture-handler \
|
|
16
|
+
react-native-safe-area-context
|
|
9
17
|
```
|
|
10
18
|
|
|
11
|
-
|
|
19
|
+
iOS 还需 `pod install`。
|
|
12
20
|
|
|
13
|
-
|
|
14
|
-
|
|
21
|
+
### 权限配置
|
|
22
|
+
|
|
23
|
+
iOS `Info.plist`:
|
|
24
|
+
|
|
25
|
+
```xml
|
|
26
|
+
<key>NSCameraUsageDescription</key><string>...</string>
|
|
27
|
+
<key>NSMicrophoneUsageDescription</key><string>...</string>
|
|
28
|
+
<key>NSPhotoLibraryAddUsageDescription</key><string>...</string>
|
|
15
29
|
```
|
|
16
30
|
|
|
17
|
-
|
|
31
|
+
Android `AndroidManifest.xml`:
|
|
18
32
|
|
|
19
|
-
```
|
|
20
|
-
|
|
33
|
+
```xml
|
|
34
|
+
<uses-permission android:name="android.permission.CAMERA" />
|
|
35
|
+
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
36
|
+
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
|
37
|
+
```
|
|
21
38
|
|
|
22
|
-
|
|
39
|
+
## 用法
|
|
23
40
|
|
|
41
|
+
```tsx
|
|
42
|
+
import { useCamera } from '@unif/react-native-camera';
|
|
24
43
|
|
|
25
|
-
const App = ()=>{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
44
|
+
const App = () => {
|
|
45
|
+
const [api, holder] = useCamera();
|
|
46
|
+
return (
|
|
47
|
+
<View>
|
|
48
|
+
<Text onPress={async () => {
|
|
49
|
+
const res = await api.open({
|
|
50
|
+
cameraMode: [
|
|
51
|
+
{ mode: 'single', photoQuality: 'speed', jpegQuality: 0.9 },
|
|
52
|
+
{ mode: 'continuous' },
|
|
53
|
+
],
|
|
54
|
+
dataRetainedMode: 'clear',
|
|
55
|
+
});
|
|
56
|
+
// res.code: 200=ok, 0=cancelled, 403=no_permission, 404=no_device, 500=capture_failed, 503=video_failed
|
|
57
|
+
}}>打开相机</Text>
|
|
58
|
+
{holder}
|
|
35
59
|
</View>
|
|
36
|
-
|
|
60
|
+
);
|
|
61
|
+
};
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## API
|
|
65
|
+
|
|
66
|
+
### `useCamera()` → `[api, holder]`
|
|
67
|
+
|
|
68
|
+
返回 `[CameraApi, React.ReactElement]`,把 `holder` 渲染进 React 树,调用 `api.open(config)` 打开相机。
|
|
69
|
+
|
|
70
|
+
### `CameraApi`
|
|
71
|
+
|
|
72
|
+
- `open(config: OpenConfig): Promise<CameraResult>`
|
|
73
|
+
- `close(): void`
|
|
74
|
+
|
|
75
|
+
### `OpenConfig`
|
|
76
|
+
|
|
77
|
+
| 字段 | 类型 | 说明 |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| `cameraMode` | `CameraMode[]` | 至少一项;多项时底部出现模式 tab |
|
|
80
|
+
| `dataRetainedMode` | `'clear' \| 'retain'` | 模式切换时是否保留已拍照片 |
|
|
81
|
+
|
|
82
|
+
### `CameraMode`
|
|
83
|
+
|
|
84
|
+
| 字段 | 类型 | 默认 | 说明 |
|
|
85
|
+
|---|---|---|---|
|
|
86
|
+
| `mode` | `'single' \| 'continuous' \| 'video'` | — | 模式 |
|
|
87
|
+
| `photoQuality` | `'speed' \| 'balanced' \| 'quality'` | `'speed'` | 相机管线模式,影响拍摄延迟 |
|
|
88
|
+
| `jpegQuality` | `number (0~1)` | `0.9` | JPEG 压缩率 |
|
|
89
|
+
|
|
90
|
+
### `CameraResult`
|
|
91
|
+
|
|
92
|
+
| 字段 | 类型 | 说明 |
|
|
93
|
+
|---|---|---|
|
|
94
|
+
| `code` | `0 \| 200 \| 403 \| 404 \| 500 \| 503` | 状态码 |
|
|
95
|
+
| `data` | `CustomPhotoFile[]` | 拍摄的文件列表 |
|
|
96
|
+
| `message` | `string` | 描述信息 |
|
|
97
|
+
|
|
98
|
+
## 从 v1.x 升级
|
|
99
|
+
|
|
100
|
+
`v2.0.0` 的破坏性变更:
|
|
101
|
+
|
|
102
|
+
- 移除 `cameraMode[i].photoResolution` / `videoResolution` → 改用 `photoQuality` 控制速度 / `jpegQuality` 控制文件大小
|
|
103
|
+
- 移除 `watermark` 配置项(将在 v2.1.x 重新加入)
|
|
104
|
+
- 从顶层 `@unif/react-native-camera` 直接导入类型(不再走 `/lib/typescript/src/utils` deep path)
|
|
105
|
+
|
|
106
|
+
## 许可
|
|
37
107
|
|
|
38
|
-
|
|
108
|
+
MIT
|
|
@@ -1,307 +1,185 @@
|
|
|
1
|
-
|
|
2
|
-
* @Author: 刘利军
|
|
3
|
-
* @Date: 2024-12-02 13:48:40
|
|
4
|
-
* @LastEditors: 刘利军
|
|
5
|
-
* @LastEditTime: 2025-01-17 08:44:43
|
|
6
|
-
* @Description:
|
|
7
|
-
* @PageName:
|
|
8
|
-
*/
|
|
1
|
+
"use strict";
|
|
9
2
|
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
import { Camera as VisionCamera,
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
const [videoResolution, setVideoResolution] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$3 = cameraMode[0]) === null || _cameraMode$3 === void 0 ? void 0 : _cameraMode$3.videoResolution);
|
|
43
|
-
const [watermarkUriVis, setWatermarkUriVis] = useState(false);
|
|
44
|
-
const device = useCameraDevice(position);
|
|
45
|
-
const onError = useCallback(error => {
|
|
46
|
-
setCameraError(error);
|
|
47
|
-
}, []);
|
|
48
|
-
const [aspectRatio, setAspectRatio] = useState(16);
|
|
49
|
-
const [resizeMode, setResizeMode] = useState();
|
|
50
|
-
const [zoom, setZoom] = useState(device === null || device === void 0 ? void 0 : device.neutralZoom);
|
|
51
|
-
const format = useCameraFormat(device, [{
|
|
52
|
-
photoAspectRatio: PhotoAspectRatio[aspectRatio]
|
|
53
|
-
}, {
|
|
54
|
-
videoAspectRatio: PhotoAspectRatio[aspectRatio]
|
|
55
|
-
}, {
|
|
56
|
-
videoResolution: videoResolution || 'max'
|
|
57
|
-
}, {
|
|
58
|
-
photoResolution: photoResolution || 'max'
|
|
59
|
-
}]);
|
|
60
|
-
const camera = useRef(null);
|
|
61
|
-
const [photos, setPhotos] = useState([]);
|
|
62
|
-
const [mode, setMode] = useState(cameraMode === null || cameraMode === void 0 || (_cameraMode$4 = cameraMode[0]) === null || _cameraMode$4 === void 0 ? void 0 : _cameraMode$4.mode);
|
|
3
|
+
import { forwardRef, useCallback, useImperativeHandle, useRef, useState } from 'react';
|
|
4
|
+
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
import { Camera as VisionCamera, useMicrophonePermission, usePhotoOutput, useVideoOutput } from 'react-native-vision-camera';
|
|
6
|
+
import { runOnJS, useSharedValue } from 'react-native-reanimated';
|
|
7
|
+
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
8
|
+
import { buildPhotoFile } from "../utils/index.js";
|
|
9
|
+
import { capturePhotoToFile } from "./capturePhotoHelper.js";
|
|
10
|
+
import { FocusIndicator } from "./FocusIndicator.js";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
const NEUTRAL_ZOOM = 1;
|
|
13
|
+
export const Camera = /*#__PURE__*/forwardRef(function Camera({
|
|
14
|
+
device,
|
|
15
|
+
currentMode,
|
|
16
|
+
isActive = true,
|
|
17
|
+
flash,
|
|
18
|
+
aspectRatio,
|
|
19
|
+
zoomShared
|
|
20
|
+
}, ref) {
|
|
21
|
+
const cameraRef = useRef(null);
|
|
22
|
+
const targetResolution = (aspectRatio ?? '4:3') === '4:3' ? {
|
|
23
|
+
width: 1080,
|
|
24
|
+
height: 1440
|
|
25
|
+
} : {
|
|
26
|
+
width: 1080,
|
|
27
|
+
height: 1920
|
|
28
|
+
};
|
|
29
|
+
const photoOutput = usePhotoOutput({
|
|
30
|
+
qualityPrioritization: currentMode.photoQuality ?? 'speed',
|
|
31
|
+
quality: currentMode.jpegQuality ?? 0.9,
|
|
32
|
+
targetResolution
|
|
33
|
+
});
|
|
34
|
+
const videoOutput = useVideoOutput();
|
|
63
35
|
const {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
} =
|
|
67
|
-
const
|
|
36
|
+
hasPermission: hasMic,
|
|
37
|
+
requestPermission: requestMic
|
|
38
|
+
} = useMicrophonePermission();
|
|
39
|
+
const activeRecorderRef = useRef(null);
|
|
40
|
+
const preparedRecorderRef = useRef(null);
|
|
41
|
+
const finishResolverRef = useRef(null);
|
|
42
|
+
const internalZoom = useSharedValue(NEUTRAL_ZOOM);
|
|
43
|
+
const zoom = zoomShared ?? internalZoom;
|
|
44
|
+
const zoomOffset = useSharedValue(0);
|
|
45
|
+
const pinchGesture = Gesture.Pinch().onBegin(() => {
|
|
46
|
+
'worklet';
|
|
68
47
|
|
|
69
|
-
|
|
70
|
-
|
|
48
|
+
zoomOffset.value = zoom.value;
|
|
49
|
+
}).onUpdate(e => {
|
|
50
|
+
'worklet';
|
|
71
51
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const handleFocus = useCallback((x, y) => {
|
|
77
|
-
|
|
78
|
-
if (focusTimerRef.current) {
|
|
79
|
-
clearTimeout(focusTimerRef.current);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// 更新聚焦指示器位置
|
|
52
|
+
const z = zoomOffset.value * e.scale;
|
|
53
|
+
zoom.value = Math.min(Math.max(z, device.minZoom), device.maxZoom);
|
|
54
|
+
});
|
|
55
|
+
const [focusPoint, setFocusPoint] = useState(null);
|
|
56
|
+
const handleFocus = useCallback(async (x, y) => {
|
|
57
|
+
if (!device.supportsFocusMetering) return;
|
|
83
58
|
setFocusPoint({
|
|
84
59
|
x,
|
|
85
60
|
y
|
|
86
61
|
});
|
|
62
|
+
try {
|
|
63
|
+
await cameraRef.current?.focusTo({
|
|
64
|
+
x,
|
|
65
|
+
y
|
|
66
|
+
}, {
|
|
67
|
+
responsiveness: 'snappy',
|
|
68
|
+
adaptiveness: 'continuous',
|
|
69
|
+
autoResetAfter: 3
|
|
70
|
+
});
|
|
71
|
+
} catch (e) {
|
|
72
|
+
console.warn('focusTo failed', e);
|
|
73
|
+
}
|
|
74
|
+
}, [device.supportsFocusMetering]);
|
|
75
|
+
const tapGesture = Gesture.Tap().onEnd(({
|
|
76
|
+
x,
|
|
77
|
+
y
|
|
78
|
+
}) => {
|
|
79
|
+
'worklet';
|
|
87
80
|
|
|
88
|
-
|
|
89
|
-
|
|
81
|
+
runOnJS(handleFocus)(x, y);
|
|
82
|
+
});
|
|
83
|
+
const composed = Gesture.Simultaneous(pinchGesture, tapGesture);
|
|
84
|
+
useImperativeHandle(ref, () => ({
|
|
85
|
+
capture: async () => {
|
|
90
86
|
try {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
y
|
|
95
|
-
}));
|
|
96
|
-
} catch (error) {
|
|
97
|
-
// 忽略 focus-canceled 错误
|
|
98
|
-
if (error && typeof error === 'object' && 'code' in error && error.code !== 'capture/focus-canceled') {
|
|
99
|
-
console.error('Focus error:', error);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// 延迟清除指示器
|
|
103
|
-
setTimeout(() => setFocusPoint(null), 400);
|
|
104
|
-
}, 300);
|
|
105
|
-
}, []);
|
|
106
|
-
useEffect(() => {
|
|
107
|
-
return () => {
|
|
108
|
-
if (focusTimerRef.current) {
|
|
109
|
-
clearTimeout(focusTimerRef.current);
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
}, []);
|
|
113
|
-
if (cameraError) {
|
|
114
|
-
return /*#__PURE__*/React.createElement(Error, {
|
|
115
|
-
data: cameraError,
|
|
116
|
-
onPress: () => setCameraError(undefined)
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
if (device == null) {
|
|
120
|
-
return /*#__PURE__*/React.createElement(NoCamera, null);
|
|
121
|
-
}
|
|
122
|
-
const commonBack = () => {
|
|
123
|
-
setPreVis(false);
|
|
124
|
-
};
|
|
125
|
-
const signleBack = () => {
|
|
126
|
-
setPhotos([]);
|
|
127
|
-
commonBack();
|
|
128
|
-
};
|
|
129
|
-
const isSingle = () => dataRetainedMode === 'clear' && mode === 'single';
|
|
130
|
-
const showPreview = () => {
|
|
131
|
-
setPreVis(true);
|
|
132
|
-
};
|
|
133
|
-
const showVideo = () => cameraMode.some(item => item.mode === 'video');
|
|
134
|
-
const confirm = () => {
|
|
135
|
-
onChange({
|
|
136
|
-
code: 200,
|
|
137
|
-
data: photos.map(item => ({
|
|
138
|
-
cameraMode: item.mode,
|
|
139
|
-
id: new Date().getTime().toString(),
|
|
140
|
-
cameraType: item.cameraType,
|
|
141
|
-
path: item.path
|
|
142
|
-
})),
|
|
143
|
-
message: '保存成功'
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
const openViewShotWatermark = () => {
|
|
147
|
-
setWatermarkUriVis(val => !val);
|
|
148
|
-
};
|
|
149
|
-
return /*#__PURE__*/React.createElement(GestureHandlerRootView, null, /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(VisionCamera, {
|
|
150
|
-
onError: onError,
|
|
151
|
-
zoom: zoom,
|
|
152
|
-
preview: true,
|
|
153
|
-
ref: camera,
|
|
154
|
-
style: styles.camera,
|
|
155
|
-
device: device,
|
|
156
|
-
isActive: true,
|
|
157
|
-
enableZoomGesture: true,
|
|
158
|
-
photoQualityBalance: "speed",
|
|
159
|
-
photo: true,
|
|
160
|
-
video: showVideo(),
|
|
161
|
-
audio: showVideo(),
|
|
162
|
-
resizeMode: resizeMode,
|
|
163
|
-
format: format
|
|
164
|
-
}), /*#__PURE__*/React.createElement(Pressable, {
|
|
165
|
-
style: styles.cameraOverlay,
|
|
166
|
-
onPress: event => {
|
|
167
|
-
const {
|
|
168
|
-
locationX,
|
|
169
|
-
locationY
|
|
170
|
-
} = event.nativeEvent;
|
|
171
|
-
handleFocus(locationX, locationY);
|
|
172
|
-
}
|
|
173
|
-
}), /*#__PURE__*/React.createElement(SetUp, {
|
|
174
|
-
isMultiCam: false,
|
|
175
|
-
onChange: val => flash = val,
|
|
176
|
-
onAspectRationChange: setAspectRatio,
|
|
177
|
-
onScreenChange: setResizeMode,
|
|
178
|
-
onVolumeChange: val => enableShutterSound = val,
|
|
179
|
-
onFishEyeOpen: val => {
|
|
180
|
-
if (val === 'fishEye') {
|
|
181
|
-
setZoom(device.minZoom);
|
|
182
|
-
}
|
|
183
|
-
if (val === 'default') {
|
|
184
|
-
setZoom(device.neutralZoom);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}), /*#__PURE__*/React.createElement(Footer, {
|
|
188
|
-
cameraMode: cameraMode,
|
|
189
|
-
photos: photos,
|
|
190
|
-
backPress: async () => {
|
|
191
|
-
if (photos.length > 0) {
|
|
192
|
-
const isBack = await confirmApi.open({
|
|
193
|
-
text: '返回会清空已拍摄数据,请确认!'
|
|
87
|
+
const raw = await capturePhotoToFile(photoOutput, {
|
|
88
|
+
flashMode: flash ?? 'off',
|
|
89
|
+
enableShutterSound: true
|
|
194
90
|
});
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
onChange: item => {
|
|
204
|
-
if (dataRetainedMode === 'clear') {
|
|
205
|
-
setPhotos([]);
|
|
91
|
+
return buildPhotoFile({
|
|
92
|
+
path: raw.path,
|
|
93
|
+
width: raw.width,
|
|
94
|
+
height: raw.height
|
|
95
|
+
}, currentMode.mode);
|
|
96
|
+
} catch (e) {
|
|
97
|
+
console.warn('capturePhoto failed', e);
|
|
98
|
+
return null;
|
|
206
99
|
}
|
|
207
|
-
setMode(item.mode);
|
|
208
|
-
setPhotoResolution(item.photoResolution);
|
|
209
|
-
setVideoResolution(item.videoResolution);
|
|
210
100
|
},
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
flash,
|
|
215
|
-
enableShutterSound: enableShutterSound
|
|
216
|
-
}));
|
|
217
|
-
if (photo) {
|
|
218
|
-
setPhotos(p => [...p, {
|
|
219
|
-
...photo,
|
|
220
|
-
frontTime: new Date().getTime(),
|
|
221
|
-
mode,
|
|
222
|
-
cameraType: position
|
|
223
|
-
}]);
|
|
101
|
+
startVideo: async () => {
|
|
102
|
+
if (!hasMic) {
|
|
103
|
+
await requestMic().catch(() => {});
|
|
224
104
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
if (isSingle()) {
|
|
230
|
-
showPreview();
|
|
105
|
+
try {
|
|
106
|
+
let recorder = preparedRecorderRef.current;
|
|
107
|
+
if (recorder == null) {
|
|
108
|
+
recorder = await videoOutput.createRecorder({});
|
|
231
109
|
}
|
|
110
|
+
preparedRecorderRef.current = null;
|
|
111
|
+
if (activeRecorderRef.current != null) return;
|
|
112
|
+
activeRecorderRef.current = recorder;
|
|
113
|
+
await recorder.startRecording((filePath, _reason) => {
|
|
114
|
+
const file = buildPhotoFile({
|
|
115
|
+
path: filePath,
|
|
116
|
+
width: 0,
|
|
117
|
+
height: 0
|
|
118
|
+
}, 'video', true);
|
|
119
|
+
activeRecorderRef.current = null;
|
|
120
|
+
finishResolverRef.current?.(file);
|
|
121
|
+
finishResolverRef.current = null;
|
|
122
|
+
}, error => {
|
|
123
|
+
console.warn('recorder error', error);
|
|
124
|
+
activeRecorderRef.current = null;
|
|
125
|
+
finishResolverRef.current?.(null);
|
|
126
|
+
finishResolverRef.current = null;
|
|
127
|
+
}, () => {}, () => {});
|
|
128
|
+
preparedRecorderRef.current = await videoOutput.createRecorder({});
|
|
129
|
+
} catch (e) {
|
|
130
|
+
console.warn('startRecording failed', e);
|
|
131
|
+
activeRecorderRef.current = null;
|
|
232
132
|
}
|
|
233
133
|
},
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
if (item.frontTime === value.frontTime) {
|
|
251
|
-
return value;
|
|
252
|
-
}
|
|
253
|
-
return item;
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
openViewShotWatermark();
|
|
257
|
-
if (isSingle()) {
|
|
258
|
-
showPreview();
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}), /*#__PURE__*/React.createElement(PreViewContainer, {
|
|
262
|
-
visible: preVis
|
|
263
|
-
}, isSingle() ? /*#__PURE__*/React.createElement(SinglePre, {
|
|
264
|
-
resizeMode: resizeMode,
|
|
265
|
-
uri: (_photos$ = photos[0]) === null || _photos$ === void 0 ? void 0 : _photos$.path,
|
|
266
|
-
onBack: () => signleBack(),
|
|
267
|
-
onSave: () => confirm()
|
|
268
|
-
}) : /*#__PURE__*/React.createElement(PreView, {
|
|
269
|
-
cameraMode: cameraMode,
|
|
270
|
-
data: photos,
|
|
271
|
-
onBack: () => commonBack(),
|
|
272
|
-
onDel: async snapItem => {
|
|
273
|
-
const isConfirm = await confirmApi.open({
|
|
274
|
-
text: '图片删除后无法恢复,请确认!'
|
|
275
|
-
});
|
|
276
|
-
if (isConfirm) {
|
|
277
|
-
setPhotos(photoList => {
|
|
278
|
-
return photoList.filter(photo => photo.path !== (snapItem === null || snapItem === void 0 ? void 0 : snapItem.path));
|
|
134
|
+
stopVideo: async () => {
|
|
135
|
+
const active = activeRecorderRef.current;
|
|
136
|
+
if (active == null) return null;
|
|
137
|
+
try {
|
|
138
|
+
const durationSec = active.recordedDuration;
|
|
139
|
+
const finishedPromise = new Promise(resolve => {
|
|
140
|
+
finishResolverRef.current = file => {
|
|
141
|
+
if (file != null && durationSec != null) {
|
|
142
|
+
resolve({
|
|
143
|
+
...file,
|
|
144
|
+
duration: durationSec
|
|
145
|
+
});
|
|
146
|
+
} else {
|
|
147
|
+
resolve(file);
|
|
148
|
+
}
|
|
149
|
+
};
|
|
279
150
|
});
|
|
280
|
-
|
|
151
|
+
await active.stopRecording();
|
|
152
|
+
return await finishedPromise;
|
|
153
|
+
} catch (e) {
|
|
154
|
+
console.warn('stopRecording failed', e);
|
|
155
|
+
activeRecorderRef.current = null;
|
|
156
|
+
return null;
|
|
281
157
|
}
|
|
282
|
-
return isConfirm;
|
|
283
158
|
}
|
|
284
|
-
})
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
159
|
+
}), [photoOutput, videoOutput, currentMode.mode, hasMic, requestMic, flash]);
|
|
160
|
+
const outputs = currentMode.mode === 'video' ? [videoOutput] : [photoOutput];
|
|
161
|
+
return /*#__PURE__*/_jsx(GestureDetector, {
|
|
162
|
+
gesture: composed,
|
|
163
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
164
|
+
style: StyleSheet.absoluteFill,
|
|
165
|
+
children: [/*#__PURE__*/_jsx(VisionCamera, {
|
|
166
|
+
ref: cameraRef,
|
|
167
|
+
style: StyleSheet.absoluteFill,
|
|
168
|
+
device: device,
|
|
169
|
+
isActive: isActive,
|
|
170
|
+
outputs: outputs,
|
|
171
|
+
constraints: [{
|
|
172
|
+
photoHDR: false
|
|
173
|
+
}],
|
|
174
|
+
zoom: zoom,
|
|
175
|
+
torchMode: currentMode.mode === 'video' && flash === 'on' ? 'on' : 'off',
|
|
176
|
+
onSubjectAreaChanged: () => cameraRef.current?.resetFocus(),
|
|
177
|
+
nativeID: "vision-camera"
|
|
178
|
+
}), focusPoint && /*#__PURE__*/_jsx(FocusIndicator, {
|
|
179
|
+
point: focusPoint,
|
|
180
|
+
onAnimationEnd: () => setFocusPoint(null)
|
|
181
|
+
}, `${focusPoint.x}-${focusPoint.y}`)]
|
|
182
|
+
})
|
|
183
|
+
});
|
|
306
184
|
});
|
|
307
185
|
//# sourceMappingURL=Camera.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","Pressable","React","useCallback","useRef","useState","useEffect","Camera","VisionCamera","useCameraDevice","useCameraFormat","SafeAreaProvider","NoCamera","FocusIndicator","Footer","SetUp","PreView","PreViewContainer","SinglePre","GestureHandlerRootView","useConfirm","ViewShotWatermark","WaterMarkRender","Error","PhotoAspectRatio","enableShutterSound","flash","data","back","onChange","_cameraMode$","_cameraMode$2","_cameraMode$3","_cameraMode$4","_photos$","cameraMode","dataRetainedMode","position","setPosition","type","preVis","setPreVis","photoResolution","setPhotoResolution","videoResolution","setVideoResolution","watermarkUriVis","setWatermarkUriVis","device","onError","error","setCameraError","aspectRatio","setAspectRatio","resizeMode","setResizeMode","zoom","setZoom","neutralZoom","format","photoAspectRatio","videoAspectRatio","camera","photos","setPhotos","mode","setMode","confirmApi","contextHolder","cameraError","focusPoint","setFocusPoint","focusTimerRef","handleFocus","x","y","current","clearTimeout","setTimeout","_camera$current","focus","code","console","createElement","onPress","undefined","commonBack","signleBack","isSingle","showPreview","showVideo","some","item","confirm","map","id","Date","getTime","toString","cameraType","path","message","openViewShotWatermark","val","preview","ref","style","styles","isActive","enableZoomGesture","photoQualityBalance","photo","video","audio","cameraOverlay","event","locationX","locationY","nativeEvent","isMultiCam","onAspectRationChange","onScreenChange","onVolumeChange","onFishEyeOpen","minZoom","backPress","length","isBack","open","text","thumbnailPress","takePress","_camera$current2","takePhoto","p","frontTime","watermark","savePress","rotatePress","at","value","photosList","visible","uri","onBack","onSave","onDel","snapItem","isConfirm","photoList","filter","key","create","flex","backgroundColor","top","left","right","bottom","zIndex"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useImperativeHandle","useRef","useState","StyleSheet","View","Camera","VisionCamera","useMicrophonePermission","usePhotoOutput","useVideoOutput","runOnJS","useSharedValue","Gesture","GestureDetector","buildPhotoFile","capturePhotoToFile","FocusIndicator","jsx","_jsx","jsxs","_jsxs","NEUTRAL_ZOOM","device","currentMode","isActive","flash","aspectRatio","zoomShared","ref","cameraRef","targetResolution","width","height","photoOutput","qualityPrioritization","photoQuality","quality","jpegQuality","videoOutput","hasPermission","hasMic","requestPermission","requestMic","activeRecorderRef","preparedRecorderRef","finishResolverRef","internalZoom","zoom","zoomOffset","pinchGesture","Pinch","onBegin","value","onUpdate","e","z","scale","Math","min","max","minZoom","maxZoom","focusPoint","setFocusPoint","handleFocus","x","y","supportsFocusMetering","current","focusTo","responsiveness","adaptiveness","autoResetAfter","console","warn","tapGesture","Tap","onEnd","composed","Simultaneous","capture","raw","flashMode","enableShutterSound","path","mode","startVideo","catch","recorder","createRecorder","startRecording","filePath","_reason","file","error","stopVideo","active","durationSec","recordedDuration","finishedPromise","Promise","resolve","duration","stopRecording","outputs","gesture","children","style","absoluteFill","constraints","photoHDR","torchMode","onSubjectAreaChanged","resetFocus","nativeID","point","onAnimationEnd"],"sourceRoot":"../../../src","sources":["camera/Camera.tsx"],"mappings":"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","ignoreList":[]}
|