视频时间轴

更新时间:2024-03-04 08:53:16

在视频回放或者云存储视频回放时,时间轴组件可以线性展示播放的视频录像时间点。用户可以通过滑动时间轴,来精准的定位开始播放的时间点和片段。

效果示例

视频时间轴

集成组件

dependencies {
    implementation 'com.thingclips.smart:thingsmart-ipc-camera-timeline:1.1.0'
}

类和接口

类名 描述
ThingTimelineView 时间轴控件
OnBarMoveListener 时间轴拖动回调
OnSelectedTimeListener 时间轴选择框回调

时间轴控件

自定义属性

名称 说明
topTextMargin 文字顶部间距
bottomTextMargin 文字底部间距
smallRulerHeight 小刻度线高度
timeScaleColor 时间文字颜色
linesColor 刻度线颜色
bubbleColor 气泡背景颜色
bubbleTextColor 气泡文字颜色

设置时间轴中的数据渲染颜色

void setContentShader(Shader contentShader)

指定时区

void setTimeZone(TimeZone zone)

设置是否显示气泡文字

拖动时和选择模式时会有气泡文字显示当前所在的时间。

void setShowBubbleWhenDrag(boolean show)

设置时间单位的宽

设置一个时间单位的宽,单位为 px。

void setSpacePerUnit(int spacePerUnit)

设置时间单位模式

接口说明

目前有三种时间单位,分别为 60 秒、600 秒、3600 秒。

void setUnitMode(TimelineUnitMode mode)

参数说明

枚举 说明
TimelineUnitMode.Mode_60 一个时间单位为60s
TimelineUnitMode.Mode_600 一个时间单位为600s
TimelineUnitMode.Mode_3600 一个时间单位为3600s

是否显示时间文本

void setShowTimeText(boolean showTimeText)

是否显示短刻度线

void setShowShortMark(boolean showShortMark)

开启或关闭选择模式

void showSelectTimeArea(boolean open)

设置选择框的时长范围

时长范围表示选择框能选中的最大和最小时长,单位 s。

void setSelectTimeAreaRange(long min, long max)

设置选择框颜色

void setSelectionBoxColor(int color)

设置选择框竖线的颜色

void setSelectCenterColor(int selectCenterColor)

判断选择模式

boolean isSelectionEnabled()

配置时间轴参数

void setCurrentTimeConfig(long currentTimeInMillisecond)

设置当前时间

设置当前时间时,时间框的单位为 ms。

void setCurrentTimeInMillisecond(long currentTimeInMillisecond)

显示气泡文字

气泡文字会显示 12 小时制的数据。

void setTimeAmPmString(String timeAmString, String timePmString)

设置片段数据列表

void setRecordDataExistTimeClipsList(List<TimeBean> source)

自动播放下一个片段

public void setCanQueryData()

开启或关闭自动播放

public synchronized void setQueryNewVideoData(boolean var1);

设置时间轴样式

接口说明

public void setStyle(int style);

参数说明

取值 说明
1 时间刻度值在时间轴上方,显示小刻度线。默认样式。
2 时间刻度值在时间轴下方,不显示小刻度线。

样式 2 的气泡文字在时间轴控件上方,因此,请将时间轴组件的父布局设置为 android:clipChildren="false",避免显示异常。

设置中央刻度线颜色

public void setMiddleCursorColor(int color)

时间轴拖动回调

开始拖拽时的回调

void onBarActionDown()

开始拖拽中的回调

接口说明

void onBarMove(long screenLeftTime, long screenRightTime, long currentTime)

参数说明

参数 说明
screenLeftTime 屏幕最左侧的时间
screenRightTime 屏幕最右侧的时间
currentTime 当前时间

结束时间轴拖拽回调

接口说明

拖动结束时,会自动寻找当前位置可以播放的片段数据。

void onBarMoveFinish(long startTime, long endTime, long currentTime)

参数说明

参数 说明
startTime 可以播放的片段数据的开始时间,无片段数据返回 -1
endTime 可以播放的片段数据的结束时间,无片段数据返回 -1
currentTime 拖拽结束时的时间,无片段数据返回 -1

时间轴选择框回调

接口说明

void onDragging(long selectStartTime, long selectEndTime)

参数说明

参数 说明
selectStartTime 选择框选中的最左侧的时间
selectEndTime 选择框选中的最右侧的时间