-
Notifications
You must be signed in to change notification settings - Fork 53
record_speed
zanxiaofei edited this page Dec 5, 2017
·
3 revisions
短视频SDK提供录制变速功能
- 有效范围:0.5~2.0 (>1.0时为加速录制,<1.0时为减速录制)
- 变速后录制的视频时长为:原始录制时长*(1.0/speed),例如变速2.0后,原始录制10s的视频变速录制后变为5s
可在变速录制时添加背景音乐,为了能跟上变速的速度,需要将背景音乐的预览做一个变速
- 变速录制时,背景音乐的预览速度为(1.0/speed), 例如2.0加速录制时,背景音乐的播放速度为0.5
- 录制后,背景音乐为正常速度播放
建议添加背景音乐时,将原始音频mute,否则外放的背景音乐从mic采集影响最终录制视频的效果
录制开始前调用KSYRecordKit
的setRecordSpeed(float)
接口可调整录制时的速度
该接口不能立即生效,只有调用了
startRecord
才会生效,在录制过程中调用,只能在下一次录制时生效
/**
* set speed for record <br/>
* default value:1.0 <br/>
* valid value:0.0~2.0 <br/>
* effect on the next {@link #startRecord(String)} call.
public void setRecordSpeed(float recordSpeed)
/**
* @return speed value 当前设置的倍速
*/
public float getRecordSpeed()
//设置速度
mKSYRecordKit.setRecordSpeed(2.0f);
/**
* 变速录制时建议将原声静音,否则在添加背景音乐后效果不太好
*/
private void updateSpeedVolume() {
if (mKSYRecordKit.getRecordSpeed() != 1.0f && mHasBgm) {
mKSYRecordKit.setVoiceVolume(0.f);
mMicAudioVolumeSeekBar.setProgress((int) (mKSYRecordKit.getVoiceVolume() * 100));
mMicAudioVolumeSeekBar.setEnabled(false);
} else {
if (mKSYRecordKit.getVoiceVolume() == 0.f) {
mKSYRecordKit.setVoiceVolume(1.0f);
mMicAudioVolumeSeekBar.setProgress((int) (mKSYRecordKit.getVoiceVolume() * 100));
mMicAudioVolumeSeekBar.setEnabled(true);
}
}
}