用于视频播放
video 组件额外支持设置以下属性:
url: Url
: 视频播放地址headers: object
: 设置视频网络请求时的 Http 头
{
// ...
headers: {
'User-Agent': 'Dora.js/1.0.2',
'Cookies': '...'
}
// ...
}
selectors: object[]
资源选择器,如果视频有不同线路、不同清晰度、不同来源,可以通过selectors
来进行设置startDanmaku()
: 如果希望显示弹幕,可实现这个函数,创建弹幕拉取的相关任务stopDanmaku()
:结束接收弹幕的回调函数,在这个函数里应该释放掉弹幕拉取相关的任务sendDanmaku(content: string)
: 发送弹幕时的回调函数
Note
目前仅支持直播弹幕
video 组件提供以下接口:
addDanmaku(danmaku: object)
: 添加一条弹幕 (详情)
selectors 接受一个数组,数组条目的数据结构如下:
[{
select: 1, // number, 选中的 option 数组下标,默认为 0
onSelect: this.onSelectQuaility // function, 当用户选中后,会回调组件的这个方法,会把选中的 option 作为参数传入
options: [{ // [], 可供选择的项目
title: '高清', // 选项显示的标题
value: any // option 的值,可以是任何类型
},
// ....
]
},
// ...
]
例子:
module.exports = {
async fetch() {
let resp = await $http.get('...')
return {
url: resp.data.url,
isLive: true,
selectors: [
{
title: '清晰度',
select: 0,
onSelect: this.onSelectQuaility,
options: [
{
title: '高清',
value: {
baseUrl: 'http://example.com'
qs : 1
}
},
{
title: '标准',
value: {
baseUrl: 'http://example.com'
qs : 2
}
}
]
}]
}
},
onSelectQuaility(option) {
this.url = `${option.baseUrl}?qs=${option.qs}`
}
}
参数 danmaku: object
有以下属性:
content: string
弹幕消息内容color: string|null
弹幕文字颜色author: Author
弹幕发送者 (详情)
例子:
this.addDanmaku({
content: 'Hello World!'
color: '#000000',
author: {
name: 'linroid'
}
})