从react-native-image-crop-picker录制视频在android 13中不工作

ncgqoxb0  于 2024-01-04  发布在  Android
关注(0)|答案(2)|浏览(178)
  • 我正在我的react-native应用程序中使用react-native-image-crop-picker,并在Android中从摄像头录制视频。它正在返回[错误:用户取消了图像选择]*
    注意: 它在Android 13和14手机上工作正常。但它在Tab - Samsung Galaxy Tab A8(Android 13)中出错。

react-native-image-crop-picker

使用的版本

React原生图像裁剪器v^0.40.2
React-本机v0.72.0
Reactv18.2.0
安卓v13

平台-安卓
预期行为

当我们使用ImagePicker录制视频时,openCamera录制器的视频路径必须返回,因为它在捕获图像时返回。

实际行为

录制视频后,我们点击“确定”,显示[错误:用户取消图像选择]

重现的步骤

1.打开“摄像头”。
1.录制视频,然后单击“OK(确定)”。
1.然后,我们必须获取录制的视频路径,但它返回错误[错误:用户取消了图像选择]。

安卓清单. xml.

  1. <uses-permission android:name="android.permission.CAMERA" />

个字符

示例代码

  1. recordVideo = async() => {
  2. try {
  3. const granted = await PermissionsAndroid.request(
  4. PermissionsAndroid.PERMISSIONS.CAMERA,
  5. {
  6. title: "App Camera Permission",
  7. message:"App needs access to your camera ",
  8. buttonNeutral: "Ask Me Later",
  9. buttonNegative: "Cancel",
  10. buttonPositive: "OK"
  11. }
  12. );
  13. if (granted === PermissionsAndroid.RESULTS.GRANTED) {
  14. ImagePicker.openCamera({
  15. mediaType:'video'
  16. })
  17. .then((image) => {
  18. console.log(" Image ", image)
  19. })
  20. .catch((error) => {
  21. if (error && error.code === 'E_PICKER_CANCELLED') {
  22. return false;
  23. }
  24. })
  25. } else {
  26. console.log("Camera permission denied");
  27. }
  28. } catch (err) {
  29. console.warn(err);
  30. }
  31. }

62lalag4

62lalag41#

使用npm卸载react-native-image-crop-picker并再次使用npm安装react-native-image-crop-picker,不要忘记添加到android/app/src/main/AndroidManifest.xml。

  1. <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>

字符串

ggazkfy8

ggazkfy82#

请按照Android安装说明的最后一步操作:

如果您使用的SDK版本>= 33,请将以下内容添加到app/src/main/AndroidManifest.xml

  1. <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>

字符串
[可选]如果您想在项目中使用摄像头拾取器,请将以下内容添加到app/src/main/AndroidManifest.xml

  1. <uses-permission android:name="android.permission.CAMERA"/>


[可选]如果您想使用前置摄像头,还可以将以下内容添加到app/src/main/AndroidManifest.xml

  1. <uses-feature android:name="android.hardware.camera" android:required="false" />
  2. <uses-feature android:name="android.hardware.camera.front" android:required="false" />

展开查看全部

相关问题