无法使用"react-native-compressor"压缩视频!还有其他解决方案吗?



流程

  1. 使用react原生图像裁剪选择器从库中选择视频
  2. 使用react原生压缩器压缩视频
  3. 在S3上传视频

问题

❌视频压缩在Android上不起作用

ERROR: android open failed: ENOENT (No such file or directory)

这些是我在android/app/src/main/AndroidManifest.xml中的权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA"/>

✅图像和视频压缩在IOS中正常工作。

✅只有图像压缩在Android中正常工作。

视频压缩的代码

const chooseVideoFromLibrary = async () => {
const options: Options = {
mediaType: 'video',
};
try {
setIsUploading(true);
const response = await ImagePicker.openPicker(options);
//Compress video -----
const compressedVideoPath = await Video.compress(
response.path,
{
compressionMethod: 'manual',
minimumFileSizeForCompress: 1,
})
console.log('****compressing/SUCCESS-- ', compressedVideoPath)
const dataToSend = { ...response, path: compressedVideoPath }
// This is another function to handle S3 Upload
await handleS3Upload(dataToSend);
} catch (error) {
console.log('Error: ', error);
} finally {
setIsUploading(false);
}
};

备注

似乎在尝试上传压缩文件时出现错误视频到S3,我认为这个包反应原生压缩器返回Android上压缩视频的路径不正确

最后,我希望你能清楚地了解这一点,以便你能提供帮助。如果你有任何想法可以帮助,或者如果你有一个更好的视频压缩解决方案,请与我分享,我会很感激。

我建议库react原生视频进程。

不是一个完整的答案在这种情况下,我建议用户尝试在多个位置插入console.log,以查找代码执行停止的位置。此外,当您只想检查问题时,可以通过仅在本地存储文件来减少错误源。

相关内容

  • 没有找到相关文章

最新更新