视频点播 VOD视频点播 VOD

更新时间:2021/06/21 GMT+08:00
分享

字幕

字幕添加可以参考demo里面caption示例。在时间线(timeline)上可以添加,删除以及获取字幕。

添加/删除字幕

1
2
3
4
// 在时间线上添加字幕,返回添加的字幕对象          
NvsTimelineCaption m_timelineCapion = m_timeline.addCaption("华为SDK", 0, m_timeline.getDuration(), null);
//移除时间上的字幕,返回下一个时间线字幕对象          
NvsTimelineCaption nextCaption = m_timeline.removeCaption(m_timelineCapion);

获取字幕

获取字幕各个接口如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
 //获得时间线上的第一个字幕         
public NvsTimelineCaption getFirstCaption()          
//获得时间线上的最后一个字幕         
public NvsTimelineCaption getLastCaption()          
//获得时间线上的当前字幕的前一个字幕         
public NvsTimelineCaption getPrevCaption(NvsTimelineCaption caption)          
//获得时间线上的当前字幕的后一个字幕         
public NvsTimelineCaption getNextCaption(NvsTimelineCaption caption)          
// 根据时间线上的位置获得字幕,返回保存当前位置字幕的List集合。
//获取的字幕列表排序规则:添加时字幕入点不同,按入点的先后顺序排列;添加时字幕入点相同,按添加字幕的先后顺序排列。    
public List<NvsTimelineCaption> getCaptionsByTimelinePosition(long timelinePos)

改变字幕属性

字幕属性的设置都是在NvsTimelineCaption类里实现的。获取字幕之后,即可设置下列属性。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//设置字幕文本         
public void setText(String text)         
//获取字幕文本         
public String getText()          
//设置字幕字体加粗         
public void setBold(boolean bold)         
//获取字幕字体加粗状态         
public boolean getBold()          
//设置字幕字体斜体         
public void setItalic(boolean italic)         
//获取字幕斜体状态         
public boolean getItalic()          
//设置字幕文本颜色         
public void setTextColor(NvsColor textColor)         
//获取字幕字体的当前颜色值         
public NvsColor getTextColor()          
//设置字幕描边         
public void setDrawOutline(boolean drawOutline)         
//获取字幕描边状态         
public boolean getDrawOutline()          
//设置字幕描边的颜色         
public void setOutlineColor(NvsColor outlineColor)         
//获取当前字幕描边的颜色值         
public NvsColor getOutlineColor()          
//设置字幕描边的宽度         
public void setOutlineWidth(float outlineWidth)         
//获取当前字幕描边的宽度         
public float getOutlineWidth()          
//设置字幕阴影         
public void setDrawShadow(boolean drawShadow)         
//获取当前字幕阴影状态         
public boolean getDrawShadow()          
//设置字幕阴影的颜色         
public void setShadowColor(NvsColor shadowColor)         
//获取当前字幕阴影的颜色         
public NvsColor getShadowColor()          
// 设置字幕阴影的偏移量         
public void setShadowOffset(PointF shadowOffset)         
//获取当前字幕阴影的偏移量         
public PointF getShadowOffset()          
//设置字幕字体大小         
public void setFontSize(float fontSize)         
//获取当前字幕的字体大小         
public float getFontSize()          
//设置字幕字体         
public void setFontByFilePath(String filePath)               
//字幕平移         
public void setCaptionTranslation(PointF translation)
//如果是全景图字幕,则需要设置下列属性
//对字幕设置中心点的极角。         
public void setCenterPolarAngle(float centerPolarAngle)         
//对字幕设置中心点的方位角。         
public void setCenterAzimuthAngle(float centerAzimuthAngle)         
//对字幕设置极角的张角。         
public void setPolarAngleRange(float polarAngleRange)

改变字幕的入出点

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
//获取字幕在时间线上显示的入点         
public long getInPoint()          
//获取字幕在时间线显示上的出点         
public long getOutPoint()          
//改变字幕在时间线上显示的入点         
public long changeInPoint(long newInPoint)          
//改变字幕在时间线上显示的出点         
public long changeOutPoint(long newOutPoint)          
//改变字幕在时间线上的显示位置(入点和出点同时偏移offset值)         
public void movePosition(long offset)   
分享:

    相关文档

    相关产品