4

我正在尝试压缩项目中的视频,因此使用 silicompressor。但是当我将它传递给我的应用程序的目标路径时,它会挂起并且什么也不做。但它确实在我的存储中创建了一个文件夹并存储了一个视频文件,但是当我尝试播放它时,它给出了错误“无法播放视频”。该文件的大小为 24 字节。所以看看,告诉我做错了什么。

这是我的代码。

File destinationPath = new File("/storage/emulated/0/DCIM/Camera/myvideo");
            destinationPath.mkdir();
            File file = new File(destinationPath.getAbsolutePath());
            Toast.makeText(Post.this, "folder: " + file, Toast.LENGTH_SHORT).show();

            try {
                filePath = SiliCompressor.with(Post.this).compressVideo(videouri, file.toString());
                video.setVideoURI(Uri.parse(filePath));
                Toast.makeText(Post.this, "Completed", Toast.LENGTH_SHORT).show();
            } catch (URISyntaxException e) {
                Log.d("EXCEPTION", e.toString());
                Toast.makeText(Post.this, e.getMessage(), Toast.LENGTH_SHORT).show();
                e.printStackTrace();
            }
4

2 回答 2

7

尝试使用运行压缩代码AsyncTask

在这里您可以找到用于视频压缩的演示应用程序代码。

于 2017-08-20T18:45:29.913 回答
1

我试过这个 SiliCompressor 的视频压缩器,非常好,在这个版本中,音频和视频工作良好,但不能保持分辨率。

https://github.com/Tourenathan-G5organisation/SiliCompressor/tree/v2.2.2

注意:在 SiliCompressor 的最新版本(2.2.3)中,视频压缩器后音频不工作

或者

我做了这个并且运行良好 https://github.com/iamkdblue/CompressVideo

我希望它对你有帮助。

于 2020-04-16T12:42:18.857 回答