我录制了视频,我希望在保存之前修剪特定尺寸的视频。 我不能用特定的时间做,但我想用固定的数据大小。与保存之前的whatsapp一样,我想将视频修剪为固定的数据大小。
mVideoTrimmer = ((K4LVideoTrimmer) findViewById(R.id.timeLine));
if (mVideoTrimmer != null) {
mVideoTrimmer.setMaxDuration(10);
// mVideoTrimmer.setMaxSize(4);
mVideoTrimmer.setOnTrimVideoListener(this);
mVideoTrimmer.setOnK4LVideoListener(this);
//mVideoTrimmer.setDestinationPath("/storage/emulated/0/DCIM/CameraCustom/");
mVideoTrimmer.setVideoURI(Uri.parse(path));
mVideoTrimmer.setVideoInformationVisibility(true);
}
}
和将其设置为时间间隔的方法....
public void setMaxDuration(int maxDuration) {
mMaxDuration = maxDuration * 1000;
}
public void setMaxSize(int maxSize){
mOriginSizeFile=maxSize*1024;
}
和计算用于特定时间间隔的修剪
private void setSeekBarPosition() {
if (mDuration >= mMaxDuration) {
mStartPosition = mDuration / 2 - mMaxDuration / 2;
mEndPosition = mDuration / 2 + mMaxDuration / 2;
mRangeSeekBarView.setThumbValue(0, (mStartPosition * 100) / mDuration);
mRangeSeekBarView.setThumbValue(1, (mEndPosition * 100) / mDuration);
}
else {
mStartPosition = 0;
mEndPosition = mDuration;
}
setProgressBarPosition(mStartPosition);
mVideoView.seekTo(mStartPosition);
mTimeVideo = mDuration;
mRangeSeekBarView.initMaxWidth();
}
现在我想要那个大小......