Android视频编辑图层LSOLayer类说明

二、视频编辑图层LSOLayer类

1

public String getOriginalPath()

功能:
• 获取原视频/图片的路径

参数:
• @return

2

public long getOriginalDurationUs()

功能:
• 获取视频/图片的原始时长

参数:
• @return

3

public int getOriginalWidth()

功能:
• 获取原始宽度

参数:
• @return

4

public int getOriginalHeight()

功能:
• 获取原始高度

参数:
• @return

5

public long getDisplayDurationUs()

功能:
• 获取显示时长;
• 如果播放器中只有一个视频或图片, 则此时长等于播放器的时长;

参数:
• @return

6

public long getThumbnailDurationUs()

功能:
• 获取缩略图的显示时间;
• 注: 因转场等功能,拼接层可能有重叠区域. 因此显示时长不等于缩略图的时长;

参数:
• @return

7

public void setDisplayDurationUs(long durationUs)

功能:
• 设置显示时长;

参数:
• durationUs

8

public long getStartTimeOfComp()

功能:
• 获取当前图层在播放器中的开始时间

参数:
• @return

9

public void setCutDurationUs(long startUs, long endUs)

功能:
• 设置视频的裁剪时长

参数:
• startUs 开始裁剪时间
• endUs 结束裁剪时间

10

public long getCutStartTimeUs()

功能:
• 获取裁剪开始时间

参数:
• @return

11

public long getCutEndTimeUs()

功能:
• 获取裁剪结束时间

参数:
• @return

12

public void setCropRect(LSORect rect)

功能:
• 设置裁剪区域;

参数:
• @param rect

13

public void setCropRectToOriginal()

功能:
• 恢复到不裁剪

14

public void setCropRectPercent(float x, float y, float width, float height)

功能:
• 设置裁剪百分比.整个画面从左到右是0.0--1.0; 从上到下是0.0--1.0;

参数:
• x   宽度的开始比例
• y   裁剪高的开始比例
• width 裁剪宽度的比例
• height 裁剪高度的比例

15

public void setLooping(boolean is)

功能:
• 叠加层设置循环

参数:
•   is

16

public void setStartTimeOfComp(long atCompUs)

功能:
• 设置当前图层在播放器中的开始时间点;

参数:
• atCompUs

17

public void setVisibility(boolean is)

功能:
• 设置是否显示

参数:
• is

18

public void setVisibility(int visibility)

功能:
• 设置是否显示
• 类型是 LSOLayer.VISIBLE 和 LSOLayer.INVISIBLE

参数:
• visibility

19

public int getVisibility()

功能:
• 获取是否显示

参数:
• @return

20

public void resetScaleSize()

功能:
• 恢复到缩放前的大小

21

public void setScaleType(LSOScaleType type)

功能:
• 设置缩放枚举类型.
• NONE: 无缩放形式.则内部会根据不同的素材,采用默认形式;
• ORIGINAL: 原始大小,直接放入, 不做任意处理;
• FILL_COMPOSITION, 忽略百分比,把宽度等于容器的宽度, 高度等于容器的高度,填满整个容器,这样有些画面可能会变形;
• CROP_FILL_COMPOSITION: 裁剪填满 放入到容器中;把视频的中心点放到容器的中心点,然后 把画面等比例提填满整个容器,把多的部分裁剪掉.
• VIDEO_SCALE_TYPE:视频缩放模式,如果视频宽度大于高度, 则宽度和容器对齐, 然后等比例调整高度;如果高度大于宽度, 则反之.

参数:
• type

22

public void setScaledValue(float width, float height)

功能:
• 缩放到的实际值

参数:
• width
• height

23

public float getScaleWidth()

功能:
• 获取缩放的宽度

参数:
• @return

24

public float getScaleHeight()

功能:
• 获取缩放的高度

参数:
• @return

25

public float getRotation()

功能:
• 获取旋转角度.

参数:
• @return

26

public void setRotation(float angle)

功能:
• 设置旋转角度

参数:
• angle

27

public void setLayerMirror(boolean flipHorizontal, boolean flipVertical)

功能:
• 设置图层是否镜像, 上下镜像, 左右镜像.

参数:
• flipHorizontal 水平镜像
• flipVertical 垂直镜像

28

public void cancelLayerMirror()

功能:
• 取消镜像

29

public boolean isMirrorX()

功能:
• 水平是否镜像

参数:
• @return

30

public boolean isMirrorY()

功能:
• 垂直是否镜像

参数:
• @return

31

public void setPosition(float xPos, float yPos)

功能:
设置当前图层中心点的坐标, xPos是X轴的坐标,yPos是设置Y轴的坐标.

此坐标是以播放容器的大小为参考, 比如容器的大小是1280x720, 您设置了640,360 ,则图层在播放器中居中显示

参数:
• xPos
• yPos

32

public void setPosition(LSOLayerPosition position)

功能:
• 设置图层的枚举位置;
• 枚举类型有: 左上/左下/右上/右下/居中/上/下/左/右

33

public float getPositionX()

功能:
• 获取当前图层中心点的位置X

参数:
• @return   横向坐标中心点, 相对于播放容器本身而言;

34

public float getPositionY()

功能:
• 获取当前图层中心点的位置Y

参数:
• @return 竖向坐标中心点, 相对于播放容器本身而言

35

public void setOpacityPercent(float percent)

功能:
• 设置透明百分比;

参数:
• percent 百分比 范围从0--1.0;

36

public void setBrightnessPercent2X(float percent2X)

功能:
• 调节当前图层画面的亮度

参数:
• percent2X 范围是0--2.0; 1.0为默认值;

37

public void setContrastFilterPercent2X(float percent2X)

功能:
• 调节当前图层画面的对比度

参数:
• percent2X 范围是0--2.0; 1.0为默认值;

38

public void setSaturationFilterPercent2X(float percent2X)

功能:
• 调节画面的饱和度;

参数:
• percent2X 范围是0--2.0; 1.0为默认值;

39

public void setWhiteBalanceFilterPercent2X(float percent2X)

功能:
• 调节画面的白平衡

参数:
• percent2X 范围是0--2.0; 1.0为默认值;

40

public void setHueFilterPercent2X(float percent2X)

功能:
• 调节画面的色度

参数:
• percent2X 范围是0--2.0; 1.0为默认值;

41

public void setExposurePercent2X(float percent2X)

功能:
• 调节画面的曝光度

参数:
• percent2X 范围是0--2.0; 1.0为默认值;

42

public void setBeautyLevel(float level)

功能:
• 设置画面的磨皮级别 0.0--1.0;

参数:
• level 等级 0.0是不磨皮, 1.0是最高磨皮

43

public void setFilter(LanSongFilter filter)

功能:
• 设置滤镜, 设置时, 会把上一次设置的滤镜删除; 如果不想删除则用addFilter;

参数:
• filter 滤镜对象, 此对象不可同时设置为多个图层中.

44

public void removeFilter(LanSongFilter filter)

功能:
• 移出滤镜

参数:
• filter 增加的滤镜对象

45

public void addFilter(LanSongFilter filter)

功能:
• 增加滤镜,如增加多个, 则多个滤镜是级联的关系, 即画面把执行上一个滤镜的结果, 作为下一个滤镜的输入;

参数:
• filter 滤镜对象

46

public void removeAllFilter()

功能:
• 删除所有滤镜

47

public void setVideoSpeed(float speed)

功能:
• 设置视频速度.

参数:
• speed 视频速度值, 范围0.1--10.0;

48

public float getVideoSpeed()

功能:
• 获取视频速度;

参数:
• @return 返回速度值

49

public void setVideoReverseAsync(boolean reverse, OnVideoReverseListener listener)

功能:
• 异步设置视频倒序

参数:
• reverse 是否倒序
• listener 倒序后的监听;

50

public boolean isVideoReverse()

功能:
• 当前视频是否倒序

参数:
• @return 是否倒序

51

public LSOEffect addEffectAtCompTimeUs(String jsonPath, long compUs)

功能:
• 用json的形式增加特效

参数:
• jsonPath 增加一个特效json路径
• compUs 从播放器的什么时间点开始增加
• @return 增加后, 返回特效对象, 可设置开始时间和播放时长;

52

public LSOEffect addEffectAtLayerHead(String jsonPath)

功能:
• 在图层的头部增加一个特效

参数:
• jsonPath json路径
• @return 增加后, 返回特效对象, 可设置播放时长;

53

public LSOEffect addEffectAtLayerEnd(String jsonPath)

功能:
• 在图层的尾部增加一个特效

参数:
• jsonPath 特效路径
• @return 增加后, 返回特效对象, 可设置播放时长;

54

public List<LSOEffect> getAllEffectList()

功能:
• 获取增加的所有特效

参数:
• @return 所有特效数组

55

public void removeAllEffectList()

功能:
• 移出当前图层的所有特效

56

public void removeEffect(LSOEffect effect)

功能:
• 移出指定的特效

参数:
• effect

57

public void playEffect(LSOEffect effect)

功能:
• 播放预览特效

参数:
• effect 指定播放的特效对象,播放后会回到播放前的位置

58

public LSOAnimation addAnimationAtCompTimeUs(String jsonPath, long compUs)

功能:
• 增加动画

参数:
• jsonPath json格式的路径
• compUs 从播放器的时间点增加
• @return 返回动画对象, 可设置开始时间和播放时长

59

public LSOAnimation setAnimationAtLayerHead(String jsonPath)

功能:
• 在图层的头部增加一个动画

参数:
• jsonPath json动画路径
• @return 返回动画对象, 可设置播放时长

60

public LSOAnimation setAnimationAtLayerEnd(String jsonPath)

功能:
• 在图层的尾部增加一个动画

参数:
• jsonPath 动画路径
• @return 返回动画对象, 可设置播放时长

61

public List<LSOAnimation> getAllAnimationList()

功能:
• 获取所有动画

参数:
• @return 所有动画对象

62

public void removeAllAnimationList()

功能:
• 移出所有动画

63

public void removeAnimation(LSOAnimation animation)

功能:
• 移出指定动画

参数:
• animation 指定动画对象

64

public void playAnimation(LSOAnimation animation)

功能:
• 播放动画

参数:
• animation 动画对象

65

public boolean setTransitionMaskPath(String maskJsonPath)

功能:
• 设置转场路径

参数:
• maskJsonPath 遮罩转场路径
• @return 可以设置返回true; 否则返回false

66

public void setTransitionDurationUs(long duration)

功能:
• 设置转场时长

参数:
• duration 时长,范围100*100---3*1000*1000;

67

public void playTransition()

功能:
• 开始播放转场

68

public void cancelTransition()

功能:
• 取消转场

69

protected long getTransitionDurationUs()

功能:
• 获取转场时长;

参数:
• @return

70

public long getTransitionStartTimeOfComp()

功能:
• 获取从合成的开始时间;

参数:
• @return

71

public LSOMosaicRect getMosaicRect1()

功能:
• 获取一个马赛克区域, 返回马赛克对象,
• 可设置马赛克区域, 是否禁止,马赛克像素点的宽度;

参数:
• @return 马赛克对象

72

public void setAudioVolume(float volume)

功能:
• 设置音频音量

73

public float getAudioVolume()

功能:
• 获取音频音量

74

public void setBackGroundBlurLevel(float level)

功能:
• 设置背景模糊级别
• 1.0是轻微模糊,毛玻璃模糊. 8.0f是完全,深度模糊;   0.0是删除模糊效果;

参数:
• level

75

public void setBackGroundBitmap(String bitmapPath)

功能:
• 设置背景图片

参数:
•   bitmapPath

76

public void setBackGroundColor(int color)

功能:
• 设置背景颜色

参数:
• color

77

public float getMaxBlurLevel()

功能:
• 获取最大模糊系数, 当前返回的是8.0;

78

public void getThumbnailAsync(OnLanSongSDKThumbnailBitmapListener listener)

功能:
• 异步获取缩略图

参数:
• listener

79

public List<Bitmap> getThumbnailListWithCount(int count)

功能:
• 获取缩略图个数, 此方法一定在getThumbnailAsync完成后设置

参数:
• count 获取的图片张数
• @return 返回bitmap数组;


地址:杭州市余杭区文一西路1324号利尔达物联网科技园6号楼2001
咨询1:15158022550      邮箱:chenbuqing@lansongai.com
咨询2:18006716739      邮箱:support@lansongtech.com
咨询3:13819483824      邮箱:yangchaowei@lansongai.com