texttrack
字幕显示插件源码
该插件中字幕功能依赖xgplayer-subtitle实现,需单独安装
pluginName: texttrack
功能说明:
- 显示字幕列表
- 加载并解析字幕内容,并显示为dom结构
使用方式
import Player from 'xgplayer'
import 'xgplayer/dist/index.min.css'
import TextTrack from 'xgplayer/es/plugins/track'
import 'xgplayer/es/plugins/track/index.css'
const player = new Player ({
...,
plugins: [..., TextTrack],
texttrack: {
list: [{
id: 'vtt1',
url: '/example/assets/video/vtt-demo-zh.vtt',
language: 'zh-cn',
text: '字幕1',
default: true
},
{
id: 'vtt2',
url: '/example/assets/video/vtt-demo-en.vtt',
language: 'en',
text: '字幕2',
default: false
}]
...
}
})
config
position
@type
:String
default
:controlsRight
, 具体枚举值请看plugin-positions
插件挂载位置,默认为player.controls.right
index
@type
:Number
default
:6
插件DOM在挂载点内的排序,默认为6,越小越靠前(若index相同,后实例化的插件会被放置在前面)
list
@type
:Arrays
字幕列表default
:[]
具体结构如下所示
list = [{
id: String | Number, // 用于标识字幕的唯一性
language: String, // 语言
text: String | {[propName: String]: Any}, // 在切换列表中显示的文案
isDefault: Boolean, // 是否为默认字幕,如果字幕列表此项均为false,则取第一条
url: String // 字幕加载地址
}]
isDefaultOpen
@type
:Boolean
default
:false
是否默认开启
style
@type
:Object
, 具体格式如下结构所示default
: 如下所示
style: {
follow: true, // 是否跟随控制栏调整位置
mode: 'stroke', // 字体显示模式 stroke/bg(文字描边/文字背景),默认为stroke
followBottom: 50, // 跟随底部控制栏的高度
fitVideo: true, // 是否跟随视频自动调整字号
offsetBottom: 2, // 字幕距离画面底部百分比,默认2%
baseSizeX: 49, // 横屏视频适配基准字号
baseSizeY: 28, // 竖屏视频适配基准字号
minSize: 16, // pc端最小字号
minMobileSize: 13, // 移动端最小字号
line: 'double', // 最大显示行数 single/double/three
fontColor: '#fff' // 字体颜色
}
closeText
@type
:{ { text: string, iconText: string } }
default
:{ text: '不开启', iconText: '字幕' }
字幕控件显示文案配置
API
updateSubtitles(list)
@desc
: 更新字幕列表@param
:{ Arrays } list
具体数据结构参考config.list