public class TXVideoEditer
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
TXVideoEditer.TXPCMCallbackListener |
static interface |
TXVideoEditer.TXThumbnailListener |
static interface |
TXVideoEditer.TXVideoCustomProcessListener |
static interface |
TXVideoEditer.TXVideoGenerateListener |
static interface |
TXVideoEditer.TXVideoPreviewListener |
static interface |
TXVideoEditer.TXVideoProcessListener |
Constructor and Description |
---|
TXVideoEditer(Context context) |
Modifier and Type | Method and Description |
---|---|
void |
cancel()
取消裁剪
|
void |
deleteAllEffect()
删除所有滤镜特效
|
void |
deleteLastEffect()
删除上一次添加的滤镜特效操作
|
void |
generateVideo(int videoCompressed,
java.lang.String videoOutputPath)
根据操作列表生成最终视频文件
|
void |
getThumbnailList(java.util.List<java.lang.Long> thumbnailList,
int width,
int height)
获取缩略图列表
|
void |
initWithPreview(TXVideoEditConstants.TXPreviewParam param)
初始化预览View
|
void |
pausePlay()
暂停播放
|
void |
previewAtTime(long timeMs)
单帧预览
|
void |
processVideo()
视频预处理,所有功能均能使用
|
void |
processVideo(boolean needProcessVideo)
视频预处理
|
void |
refreshOneFrame()
用于编辑字幕界面:刷新一帧,显示不带字幕残影的图像
|
void |
release()
视频处理完或取消处理的视频,必须释放资源
|
void |
resumePlay()
继续播放
|
void |
setAnimatedPasterList(java.util.List<TXVideoEditConstants.TXAnimatedPaster> animatedPasterList)
设置动态贴纸列表
|
void |
setAudioBitrate(int audioBitrate)
设置生成的音频码率
|
void |
setBeautyFilter(int beautyLevel,
int whiteningLevel)
/**
设置美颜,美白级别
|
int |
setBGM(java.lang.String path)
设置背景音乐路径
|
void |
setBGMAtVideoTime(long videoStartTime)
设置背景音乐从视频的某个位置起开始添加
|
void |
setBGMLoop(boolean looping)
设置背景音乐是否重复
|
void |
setBGMStartTime(long startTime,
long endTime)
可以选取音乐的起始时间和结束时间
|
void |
setBGMVolume(float volume)
设置背景音乐声音大小
|
void |
setCustomVideoProcessListener(TXVideoEditer.TXVideoCustomProcessListener listener) |
void |
setCutFromTime(long startTime,
long endTime)
设置视频剪切范围
|
void |
setFilter(Bitmap bmp)
设置滤镜
|
void |
setFilter(Bitmap leftBitmap,
float leftIntensity,
Bitmap rightBitmap,
float rightIntensity,
float leftRatio)
setFilter 设置组合滤镜特效
|
void |
setPasterList(java.util.List<TXVideoEditConstants.TXPaster> pasterList)
设置静态贴纸列表
|
int |
setPictureList(java.util.List<Bitmap> bitmapList,
int fps) |
long |
setPictureTransition(int type) |
void |
setRepeatPlay(java.util.List<TXVideoEditConstants.TXRepeat> repeatList)
设置多段重复片段【注意:目前只支持一次重复,重复三次】
|
void |
setReverse(boolean isReverse)
视频倒放处理
|
void |
setSpecialRatio(float specialRatio)
设置滤镜程度值
|
void |
setSpeedList(java.util.List<TXVideoEditConstants.TXSpeed> speedList)
设置多段倍速播放
|
void |
setSubtitleList(java.util.List<TXVideoEditConstants.TXSubtitle> subtitleList)
设置字幕列表
|
void |
setTailWaterMark(Bitmap tailwatermark,
TXVideoEditConstants.TXRect rect,
int duration)
设置片尾水印
|
void |
setThumbnail(TXVideoEditConstants.TXThumbnail thumbnail)
设置预处理输出的缩略图
|
void |
setThumbnailListener(TXVideoEditer.TXThumbnailListener listener) |
void |
setTXVideoPreviewListener(TXVideoEditer.TXVideoPreviewListener listener)
设置视频预览监听
|
void |
setVideoBitrate(int videoBitrate)
设置生成视频码率
|
void |
setVideoGenerateListener(TXVideoEditer.TXVideoGenerateListener listener)
设置编辑器生成视频监听
|
int |
setVideoPath(java.lang.String videoPath)
设置视频路径
|
void |
setVideoProcessListener(TXVideoEditer.TXVideoProcessListener listener)
设置视频预处理回调
|
void |
setVideoVolume(float volume)
设置视频声音大小
|
void |
setWaterMark(Bitmap watermark,
TXVideoEditConstants.TXRect rect)
设置水印
|
void |
startEffect(int type,
long startTime)
设置滤镜特效开始时间
|
void |
startPlayFromTime(long startTime,
long endTime)
播放某一时间段的视频
|
void |
stopEffect(int type,
long endTime)
设置滤镜特效结束时间
|
void |
stopPlay()
停止播放(释放资源)
|
public void cancel()
public void deleteAllEffect()
public void deleteLastEffect()
public void generateVideo(int videoCompressed, java.lang.String videoOutputPath)
videoCompressed
- 视频压缩质量videoOutputPath
- 视频输出路径public void getThumbnailList(java.util.List<java.lang.Long> thumbnailList, int width, int height)
thumbnailList
- 每个缩略图的时间点(ms)width
- height
- public void initWithPreview(TXVideoEditConstants.TXPreviewParam param)
param
- public void pausePlay()
public void previewAtTime(long timeMs)
timeMs
- 预览时间(ms)public void processVideo()
public void processVideo(boolean needProcessVideo)
needProcessVideo
- true:做预处理操作,所有功能均能使用
false:不做预处理操作,倒放时间特效、重复时间特效不能使用【目前单帧预览不能精确到当前预览画面,后面改进】public void refreshOneFrame()
public void release()
public void resumePlay()
public void setAnimatedPasterList(java.util.List<TXVideoEditConstants.TXAnimatedPaster> animatedPasterList)
animatedPasterList
- 动态贴纸列表public void setAudioBitrate(int audioBitrate)
audioBitrate
- 音频码率 单位:kbpspublic void setBeautyFilter(int beautyLevel, int whiteningLevel)
public int setBGM(java.lang.String path)
path
- 音乐文件路径 path 设为null表示清除背景音乐public void setBGMAtVideoTime(long videoStartTime)
videoStartTime
- public void setBGMLoop(boolean looping)
looping
- public void setBGMStartTime(long startTime, long endTime)
startTime
- 音乐起始时间 (ms)endTime
- 音乐结束时间 (ms)public void setBGMVolume(float volume)
volume
- 0 ~ 1.0public void setCustomVideoProcessListener(TXVideoEditer.TXVideoCustomProcessListener listener)
public void setCutFromTime(long startTime, long endTime)
startTime
- 视频剪切的开始时间(ms)endTime
- 视频剪切的结束时间(ms)public void setFilter(Bitmap bmp)
bmp
- 指定素材,即颜色查找表图片。注意:一定要用png格式!!!public void setFilter(Bitmap leftBitmap, float leftIntensity, Bitmap rightBitmap, float rightIntensity, float leftRatio)
leftBitmap
- 左侧滤镜 注意:一定要用png格式!!leftIntensity
- 左侧滤镜程度rightBitmap
- 右侧滤镜 注意:一定要用png格式!!rightIntensity
- 右侧滤镜程度leftRatio
- 左侧图片占的比例大小public void setPasterList(java.util.List<TXVideoEditConstants.TXPaster> pasterList)
pasterList
- 静态贴纸列表public int setPictureList(java.util.List<Bitmap> bitmapList, int fps)
bitmapList
- 图片列表fps
- 需要的fps,限制在15-30之间public long setPictureTransition(int type)
public void setRepeatPlay(java.util.List<TXVideoEditConstants.TXRepeat> repeatList)
repeatList
- public void setReverse(boolean isReverse)
isReverse
- : true:倒放视频;false:取消倒放public void setSpecialRatio(float specialRatio)
specialRatio
- : 从0到1,越大滤镜效果越明显,默认取值0.5public void setSpeedList(java.util.List<TXVideoEditConstants.TXSpeed> speedList)
speedList
- public void setSubtitleList(java.util.List<TXVideoEditConstants.TXSubtitle> subtitleList)
subtitleList
- 字幕列表public void setTailWaterMark(Bitmap tailwatermark, TXVideoEditConstants.TXRect rect, int duration)
tailwatermark
- 水印图片rect
- 图片归一化位置duration
- 显示时长,单位(s)public void setThumbnail(TXVideoEditConstants.TXThumbnail thumbnail)
public void setThumbnailListener(TXVideoEditer.TXThumbnailListener listener)
public void setTXVideoPreviewListener(TXVideoEditer.TXVideoPreviewListener listener)
listener
- public void setVideoBitrate(int videoBitrate)
videoBitrate
- 视频码率 单位:kbps
如果设置了码率,SDK生成视频会优先使用这个码率,注意码率不要太大或则太小,码率太小视频会模糊不清,码率太大,生成视频体积会很大
这里建议设置范围为:600~3600,如果没有调用这个接口,SDK内部会根据压缩质量自动计算码率public void setVideoGenerateListener(TXVideoEditer.TXVideoGenerateListener listener)
listener
- public int setVideoPath(java.lang.String videoPath)
videoPath
- 视频路径public void setVideoProcessListener(TXVideoEditer.TXVideoProcessListener listener)
listener
- public void setVideoVolume(float volume)
volume
- 0 ~ 1.0public void setWaterMark(Bitmap watermark, TXVideoEditConstants.TXRect rect)
watermark
- 水印图片rect
- 相对于视频图像的归一化frame,x,y,width 取值范围 0~1public void startEffect(int type, long startTime)
type
- 滤镜特效类型 @link# TXCVideoEditConstants.TXEffectType_SOUL_OUT
TXCVideoEditConstants.TXEffectType_SPLIT_SCREEN
TXCVideoEditConstants.TXEffectType_DARK_DRAEM
TXCVideoEditConstants.TXEffectType_ROCK_LIGHTstartTime
- 滤镜特效开始时间(ms)public void startPlayFromTime(long startTime, long endTime)
startTime
- 播放开始时间(ms)endTime
- 播放结束时间(ms)public void stopEffect(int type, long endTime)
type
- 滤镜特效类型 @link# TXCVideoEditConstants.TXEffectType_SOUL_OUT
TXCVideoEditConstants.TXEffectType_SPLIT_SCREEN
TXCVideoEditConstants.TXEffectType_DARK_DRAEM
TXCVideoEditConstants.TXEffectType_ROCK_LIGHTendTime
- 滤镜特效结束时间(ms)public void stopPlay()