Android视频播放LSOEditPlayer类说明

一、视频播放LSOEditPlayer类

1

public void onCreateAsync(LSORatioType ratio, OnCreateListener listener)

功能:
• 设置播放容器宽高比;
• 在Activity的 onCreate中调用,设置播放容器的宽高比, 设置后, 会根据宽高比等比例缩放到当前view所在layout中;
• 也可以在播放暂停时, 重写布局此播放容器(relayout);

参数:
• ratio 宽高比;
• listener 重新布局后, 适配到layout后的回调;

2

public void onCreateAsync(List<LSOAsset> arrays, OnCreateListener listener)

功能:
• 设置播放容器的资源

参数:
• arrays 容器资源数组, 支持图片和视频.
• listener 默认会以第一个图片或视频的宽度为参考,等比例缩放当前播放容器后回调;

3

public void onCreateAsync(List<LSOAsset> arrays,int width, int height, OnCreateListener listener)

功能:
• 设置播放容器资源, 并设置宽度和高度

参数:
• arrays 输入的图片或视频资源;
• width 播放容器的宽度
• height 播放容器的高度
• listener 根据设置的高度和宽度, 重新等比例布局当前view, 布局后返回监听;

4

public void onCreateAsync(int width,int height, OnCreateListener listener)

功能:
• 设置容器的宽度和高度, 在播放设置, 不可以用来初始化播放器;
• 在第一次之后设置

参数:
• width 宽度
• height 高度
• listener 适配当前view后的监听;

5

public void onResumeAsync(OnResumeListener listener)

功能:
• 在Activity的 onResume中调用, 用来执行activity的返回事件;

参数:
• listener 异步回调;

6

public void onPause()

功能:
• 在Activity中的onPause中调用;

7

public void onDestroy()

功能:
• 在Activity的onDestroy中调用

8

public void prepareConcatAssets(OnAddAssetProgressListener listener)

功能:
• 在当前View布局完毕后, 准备当前播放器;

参数:
• listener 内部会开启一个线程, 内部开启完毕后的回调;

9

public void insertConcatAssetAtCurrentTime(List<LSOAsset> assetArray, OnAddAssetProgressListener listener1)

功能:
• 在当前时间点插入图片或视频

参数:
• assetArray 插入的图片或视频数组
• listener1 插入完毕后的回调;

10

public void insertConcatAssetWithTime(List<LSOAsset> assetArray, long atCompUs, OnAddAssetProgressListener listener1)

功能:
• 在指定的时间点插入图片或视频.
• 内部流程是:
• 先找指定时间点 在某个图层时间段内.
• 找到图层后, 如果时间点在图层前半部分,则向前插入; 如后半部分,则向后插入;

参数:
• assetArray 插入的图片或视频数组
• atCompUs 在指定的时间点
• listener1 异步插入完毕后的回调;

11

public void replaceConcatLayerAsync(LSOAsset asset, LSOLayer replaceLayer, OnAddAssetProgressListener listener)

功能:
• 替换拼接图层;

参数:
• asset        资源
• replaceLayer 被替换的图层
• listener     异步替换;

12

public LSOLayer getCurrentConcatLayerByTime(long compUs)

功能:
• 获取指定时间点的拼接图层

参数:
• compUs   指定时间点, 单位微秒; 1秒=1000*1000微秒
• @return 返回图层对象

13

public void addAssetAsync(LSOAsset asset, long atCompUs,OnAddAssetProgressListener listener1)

功能:
• 在拼接层上叠加一个资源;

参数:
• asset 图片或视频资源
• atCompUs 指定时间点
• listener1 异步增加完毕后的回调监听;

14

public void addVideoEffectAsync(LSOAsset asset, long atCompUs, boolean preview, OnAddAssetProgressListener listener1)

功能:
• 在指定时间点增加一个视频特效, 增加后, 通过异步返回一个LSOLayer对象;

参数:
• asset 一个color和一个mask组成的透明视频动画资源, 宽高:最大720p, 时长:最大5秒钟;
• atCompUs   在指定时间点
• preview   插入后, 是否预览
• listener1 插入完毕后的回调,回调中

15

public LSOLayer addBitmapLayer(String path, long atCompUs)

功能:
• 在拼接层上叠加一个图片图层

参数:
• path 图片的完整路径
• atCompUs 在指定时间点增加, 单位微秒

16

public LSOLayer addBitmapLayer(Bitmap bmp, long atCompUs)

功能:
• 增加图片图层,

参数:
• bmp 图片对象;
• atCompUs 在指定时间点增加,单位微秒;

17

public LSOLayer addGifLayer(String gifPath, long atCompUs)

功能:
• 在拼接层上, 增加一个Gif图层

参数:
• gifPath gif图层路径
• atCompUs 在指定时间点增加,单位微秒;

18

public LSOLayer addGifLayer(LSOAsset asset, long atCompUs)

功能:
• 在拼接层上, 增加一个Gif图层

参数:
• asset gif文件的路径
• atCompUs 在指定时间点增加,单位微秒;
• @return 返回LSOLayer图层对象. 此对象可设置图层的移动旋转缩放等功能.

19

public LSOAudioLayer addAudioLayer(String path, long startTimeOfComp)

功能:
• 增加声音图层;

参数:
• path            声音的完整路径;
• startTimeOfComp 从合成的什么位置开始增加;
• @return 返回声音对象, 可以设置声音的音量, 循环等功能;

20

public void removeLayerAsync(LSOLayer layer)

功能:
• 异步删除图层;
• 删除成功后, 会触发容器时长回调, 在回调中你可以重新布局时间轴

参数:
• layer 图层对象;

21

public void removeAllOverlayLayersAsync()

功能:
• 删除所有的叠加图层.
• 叠加图层有:图片图层, gif图层, 图片序列图层等;

22

public void removeAudioLayerAsync(LSOAudioLayer layer)

功能:
• 删除声音图层

参数:
• layer

23

public void removeALLAudioLayer()

功能:
• 删除所有的增加的声音图层;

24

public boolean isPlaying()

功能:
• 画面是否在播放

参数:
• @return 是否在播放

25

public boolean isRunning()

功能:
• 当前播放器是否在运行.
• 合成是一个线程, 此返回的是当前线程是否在运行,
• 线程运行不一定画面在播放,有可能画面暂停;

参数:
• @return 线程是否在运行

26

public boolean isExporting()

功能:
• 是否在导出;

参数:
• @return

27

public long getCurrentPositionUs()

功能:
• 获取当前播放器的时间.

参数:
• @return 当前时间, 单位微秒

28

public List<LSOLayer> getAllConcatLayers()

功能:
• 获取播放器的所有拼接图层;

参数:
• @return 图层list 拼接图层;

29

public List<LSOLayer> getAllOverLayLayers()

功能:
• 获取播放器中的所有叠加层

参数:
• @return 图层数组, 叠加的图层;

30

public List<LSOAudioLayer> getAllAudioLayers()

功能:
• 获取播放器中的所有声音图层

31

public void setOnBeforeRenderFrameListener(OnLanSongSDKBeforeRenderFrameListener listener)

功能:
• 在每一帧绘制前的回调, 里面没有经过handler, 你增加的代码, 在我们render线程中执行,

参数:
• listener 返回的是时间戳, 单位us;

32

public void setOnDurationChangedListener(OnLanSongSDKDurationChangedListener listener)

功能:
• 容器的总时长改变监听; 播放器会在拼接层裁剪, 设置显示时间, 转场,变速等场合下, 时长改变;
• 返回的是当前总时长;

参数:
• listener 总时长改变监听, 返回的long类型改变后的当前总时长

33

public void setOnLanSongSDKPlayProgressListener(OnLanSongSDKPlayProgressListener listener)

功能:
• 播放进度回调
• 监听中的两个参数是: onLanSongSDKExportProgress(long ptsUs, int percent);
• 分别对应 当前处理的时间戳 和百分比;
• 在seek或pause的时候,此监听不调用;

参数:
• listener

34

public void setOnTimeChangedListener(OnLanSongSDKTimeChangedListener listener)

功能:
• 容器的当前播放时间改变回调;
• 只要是改变了, 不管是seek的改变,还是自动播放的改变,都执行这里;

参数:
• listener 时间改变监听 long类型是当前时间戳, int类型是当前时间戳占总时长的百分比;

35

public void setOnPlayCompletedListener(OnLanSongSDKPlayCompletedListener listener)

功能:
• 视频播放完成进度;

参数:
• listener 播放完成监听

36

public void setOnExportProgressListener(OnLanSongSDKExportProgressListener listener)

功能:
• 导出进度回调;
• 监听中的两个参数是: onLanSongSDKExportProgress(long ptsUs, int percent);
• 分别对应 当前处理的时间戳 和百分比;

参数:
• listener 导出进度监听, long类型是当前正在处理的时间戳, int类型是进度百分比;

37

public void setOnExportCompletedListener(OnLanSongSDKExportCompletedListener listener)

功能:
• 导出完成回调;
• 完成后, 有 void onLanSongSDKExportCompleted(String dstVideo);
• 对应的是:返回完成后的目标视频路径;

参数:
• listener   导出完成监听, 返回String类型的导出视频完整路径;

38

public void setOnErrorListener(OnLanSongSDKErrorListener listener)

功能:
• 错误监听

39

public boolean start()

功能:
• 开始播放/恢复播放;

40

public void startExport(LSOExportType type)

功能:
• 开始导出

参数:
• type 导出枚举类型

41

public void seekToTimeUs(long timeUs)

功能:
• 定位到某个位置.

参数:
• timeUs 时间, 单位微秒;

42

public void pause()

功能:
• 播放预览暂停

43

public long getDurationUs()

功能:
• 获取当前播放器的总时长;

参数:
@return 时间, 单位微秒;

44

public void setLooping(boolean is)

功能:
• 设置容器循环播放;

参数:
• is 是否循环;

45

public void cancelExport()

功能:
• 取消导出

46

public void cancel()

功能:
• 取消当前合成.
• 取消后, 会把内部线程全部退出, 所有增加的图层都会释放;

47

public void setFrameRate(int frameRate)

功能:
• 设置导出帧率
• 不建议使用

参数:
• frameRate 帧率最小20,最大是60

48

public void setExportBitRate(int bitRate)

功能:
• 设置导出时的码率,
• 不建议使用

参数:
• bitRate 码率, 最小是300K,不建议使用;


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