问题描述
我正在尝试压缩由移动相机录制的视频。为此,我使用了以下库:
https://github.com/AbedElazizShe/LightCompressor
我正在传递捕获的视频路径和目标路径。我可以看到它正在到达 onSuccess() 方法。但是我在目标路径上找不到任何压缩视频。
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
Log.d("Testing","ACTIVITY REQUEST CODE " + requestCode);
switch (requestCode) {
case VIDEO_CAPTURE:
Log.d("Testing","RESULT CODE " + resultCode);
if (data != null && resultCode == RESULT_OK) {
Uri videoUri = data.getData();
File destinationPath = new File(String.valueOf(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)));
File file = new File(destinationPath.getAbsolutePath());
Log.d("Testing","Video Source Path:: "+currentVideoPath);
Log.d("Testing","Video destination Path:: "+file.toString());
VideoCompressor.start(currentVideoPath,file.toString(),new CompressionListener() {
@Override
public void onStart() {
// Compression start
Log.d("Testing","compressed onStart ");
}
@Override
public void onSuccess() {
// On Compression success
Log.d("Testing","compressed file size ");
}
@Override
public void onFailure(String failureMessage) {
// On Failure
Log.d("Testing","compressed onFailure ");
}
@Override
public void onProgress(float v) {
Log.d("Testing","Progress:: ");
// Update UI with progress value
}
@Override
public void onCancelled() {
// On Cancelled
Log.d("Testing","compressed onCancelled ");
}
},VideoQuality.HIGH,true,true);
}else if (resultCode == RESULT_CANCELED) {
Toast.makeText(getApplicationContext(),"Video recording cancelled.",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(),"Failed to record video",Toast.LENGTH_LONG).show();
}
break;
}
当我检查日志时,我得到:
视频源路径::
/storage/emulated/0/Android/data/com.app.powerconsent/files/Pictures/101_20210213_194206.mp4
2021-02-13 19:42:20.287 18288-18288/com.app.powerconsent D/Testing: Video destination Path:: /storage/emulated/0/Android/data/com.app.powerconsent/files/Download
2021-02-13 19:42:20.394 18288-18288/com.app.powerconsent D/Testing: compressed onStart
2021-02-13 19:42:20.567 18288-18288/com.app.powerconsent D/Testing: compressed file size
如果有什么问题,有人可以指出吗?我是否需要使用后台任务调用某些东西?
解决方法
您的目标路径应指向文件而不是文件夹。