我正在尝试使用硅压缩器压缩项目中的视频。但当我传递它的应用程序得到的目标路径并挂起并什么也不做。但它确实在我的存储中创建了一个文件夹并存储了一个视频文件,但是当我尝试播放它时,它会出错"无法播放视频"。此文件的大小为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();
}
答案 0 :(得分:3)
尝试使用AsyncTask
Here您可以找到用于视频压缩的演示应用代码。
答案 1 :(得分:1)
我尝试了这款SiliCompressor用于视频压缩器,这非常好,在此版本中,音频和视频效果很好,但不能保持分辨率。
https://github.com/Tourenathan-G5organisation/SiliCompressor/tree/v2.2.2
注意:在最新版本的(2.2.3)SiliCompressor中,视频压缩器后音频无法正常工作
或
我做的很好 https://github.com/iamkdblue/CompressVideo
希望对您有帮助。