互動(dòng)視頻開放協(xié)議
引言
編寫目的
本文檔提供了一套互動(dòng)視頻開放協(xié)議,以實(shí)現(xiàn)內(nèi)容創(chuàng)作者的快速接入及互動(dòng)視頻技術(shù)的推廣和應(yīng)用。
預(yù)期讀者和閱讀建議
本文檔開放給互動(dòng)視頻內(nèi)容創(chuàng)作者、互動(dòng)視頻從業(yè)者等相關(guān)人員參考。
文檔輸入
《互動(dòng)視頻基礎(chǔ)指南》中提供了關(guān)于互動(dòng)視頻的詳細(xì)介紹,該文檔可在愛奇藝APP中,“我的”-“關(guān)于我們”-“互動(dòng)視頻標(biāo)準(zhǔn)”中查看。
術(shù)語(yǔ)
| (英文縮寫) | (英文全稱) | (中文全稱) |
|---|---|---|
| IV | Interact Video | 互動(dòng)視頻 |
| IVP | Interact Video Platform | 互動(dòng)視頻平臺(tái) |
| IVG | Interact Video Guidelines | 互動(dòng)視頻標(biāo)準(zhǔn) |
| IVE | Interact Video Engine | 互動(dòng)視頻引擎 |
| IVS | Interact Video Service | 互動(dòng)視頻服務(wù) |
互動(dòng)視頻(IV)
互動(dòng)視頻(IV)是一種全新的視頻類型。旨在通過(guò)增強(qiáng)體感反饋、劇情參與、內(nèi)容探索等方式為用戶帶來(lái)更加豐富的觀看體驗(yàn)。
互動(dòng)視頻標(biāo)準(zhǔn)(IVG)
互動(dòng)視頻標(biāo)準(zhǔn)(IVG)定義了一系列互動(dòng)視頻生產(chǎn)流程和標(biāo)準(zhǔn)。旨在通過(guò)可實(shí)操的標(biāo)準(zhǔn),降低內(nèi)容創(chuàng)作者、軟件工具等各方參與互動(dòng)視頻領(lǐng)域的門檻,促進(jìn)各方對(duì)互動(dòng)視頻領(lǐng)域的探索。
互動(dòng)視頻平臺(tái)(IVP)
互動(dòng)視頻平臺(tái)(IVP)是為視頻添加互動(dòng)能力的平臺(tái)。旨在通過(guò)將互動(dòng)能力添加環(huán)節(jié)與視頻拍攝、剪輯的整個(gè)制作流程深度結(jié)合,幫助內(nèi)容創(chuàng)作者便捷高效地打造出高品質(zhì)的互動(dòng)視頻。
互動(dòng)視頻引擎(IVE)
互動(dòng)視頻引擎(IVE)是指互動(dòng)視頻在播放器中支持的各種互動(dòng)功能,這些功能包括播放記錄同步、X因子處理、交互展示、交互命令處理、統(tǒng)計(jì)等。
互動(dòng)視頻服務(wù)(IVS)
互動(dòng)視頻服務(wù)(IVS)是圍繞互動(dòng)視頻提供生產(chǎn)服務(wù)、播放服務(wù)、交互、用戶相關(guān)功能在內(nèi)的多套服務(wù),覆蓋從互動(dòng)視頻上傳、處理、審核,到存儲(chǔ)、分發(fā)、播放,再到視頻管理、統(tǒng)計(jì)、分析的全流程。
| 名 稱 | 含義 |
|---|---|
| 播放區(qū)間 | 在互動(dòng)視頻播放的過(guò)程中,觀眾可以根據(jù)偏好進(jìn)行選擇,而選擇的結(jié)果將影響劇情的發(fā)展,整個(gè)互動(dòng)視頻將會(huì)依據(jù)用戶的選擇在不同的視頻片段之間切換,因此一個(gè)完整的互動(dòng)視頻將會(huì)包含多個(gè)視頻片段,而其中的每一個(gè)片段所需相關(guān)的信息的集合稱為一個(gè)播放區(qū)間。關(guān)于播放區(qū)間的具體定義參見播放區(qū)間信息。 |
| 交互區(qū)間 | 一次互動(dòng)從開始到結(jié)束的整個(gè)生命周期中所需相關(guān)信息的集合稱為一個(gè)交互區(qū)間。 例如,在某個(gè)互動(dòng)視頻播放的過(guò)程中,當(dāng)其中的某個(gè)視頻片段播放至該視頻片段的第30秒時(shí)互動(dòng)組件開始在界面中展示,當(dāng)該視頻片段播放至第40秒時(shí)互動(dòng)組件從界面中消失,則視第30秒為互動(dòng)的開始,第40秒為互動(dòng)的結(jié)束。在這次互動(dòng)中所需要的信息包括互動(dòng)開始時(shí)間、互動(dòng)展示時(shí)長(zhǎng)、是否有展示動(dòng)畫、互動(dòng)出現(xiàn)時(shí)是否暫停播放等等,這些信息共同構(gòu)成了一個(gè)交互區(qū)間的定義。互動(dòng)展示時(shí)長(zhǎng)最短5秒,最長(zhǎng)30秒。關(guān)于交互區(qū)間的具體定義參見交互區(qū)間信息。 |
產(chǎn)品概述
總體框架

互動(dòng)視頻協(xié)議的輸出方式為腳本文件集,該文件集由若干文件構(gòu)成(詳見腳本文件集結(jié)構(gòu)),由內(nèi)容創(chuàng)作者提供。如上圖所示,在整個(gè)系統(tǒng)中,腳本文件集起到承載相關(guān)互動(dòng)信息的作用,在IVS和IVE之間傳遞。
腳本文件集結(jié)構(gòu)
腳本文件集由以下三個(gè)部分構(gòu)成,壓縮后的大小需小于1.5M:
| 文件類型 | 示例名稱 | 功能 |
|---|---|---|
| 索引腳本文件 | index.json | 提供所有的播放區(qū)間和交互區(qū)間的索引信息,腳本文件集內(nèi)唯一 |
| 交互區(qū)間腳本文件 | interact001-Para.json | 配合交互區(qū)間UI樣式文件 實(shí)現(xiàn)交互組件內(nèi)容的動(dòng)態(tài)配置 一個(gè)交互區(qū)間對(duì)應(yīng)一個(gè)腳本文件,可為多個(gè) |
| 資源文件 | close.png | 交互區(qū)間腳本使用的圖像資源 支持的格式主要包括:png、jpg |
命名規(guī)范
| 文件類型 | 命名規(guī)范 | 約束限制 |
|---|---|---|
| 索引腳本文件 | 名稱固定為index.json | 全小寫,半角英文 |
| 交互區(qū)間腳本文件 | interact+編號(hào)-Para.json | “interact”和“-Para”是固定字符,編號(hào)為三位數(shù)字,范圍從001~099,順序編號(hào) |
| 資源文件 | 符合常見操作系統(tǒng)中對(duì)文件的命名規(guī)范 | 全小寫,半角英文和數(shù)字組成,最大長(zhǎng)度20個(gè)英文字符和數(shù)字 |
索引腳本文件說(shuō)明及定義
索引腳本文件基礎(chǔ)結(jié)構(gòu)
索引腳本文件提供了所有的播放區(qū)間和交互區(qū)間的索引信息。
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| base | Dictionary | Y | 包含了文檔所需要的協(xié)議版本號(hào)、交互模式等基本信息 |
| globle | Dictionary | N | 包含了全部X因子的名稱及初始值關(guān)于X因子的介紹可參見《互動(dòng)視頻基礎(chǔ)指南》中的X因子 |
| interactBlockList | Array | Y | 定義了互動(dòng)視頻所需的全部交互區(qū)間數(shù)組中元素個(gè)數(shù)最大值為30 |
| playBlockList | Array | Y | 定義了互動(dòng)視頻所需的全部播放區(qū)間數(shù)組中元素個(gè)數(shù)最大值為100 |
示例
{
"base": {},
"globle": {},
"interactBlockList": [],
"playBlockList": []
}
基礎(chǔ)信息(base)
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| filename | String | Y | 當(dāng)用戶首次播放互動(dòng)視頻時(shí),播放的第一個(gè)片段的視頻文件名稱 對(duì)于同一互動(dòng)視頻,第一個(gè)片段是唯一的需包含擴(kuò)展名,擴(kuò)展名固定為“.mp4” 最大長(zhǎng)度為20個(gè)英文字母或數(shù)字 |
| fileVersion | String | Y | 索引腳本文件的文件版本號(hào),當(dāng)索引腳本文件被修改后,需要更新此節(jié)點(diǎn)以做區(qū)分 三個(gè)小于10的正整數(shù)以點(diǎn)分割,例如1.0.1 |
| protocolVersion | String | Y | 協(xié)議版本號(hào),當(dāng)前協(xié)議版本號(hào)固定為1.0 |
| interactMode | String | Y | 互動(dòng)能力類型 0: 畫面信息探索互動(dòng)能力 1: 分支劇情互動(dòng)能力 關(guān)于互動(dòng)能力請(qǐng)參見《互動(dòng)視頻標(biāo)準(zhǔn)》中的互動(dòng)能力支持 |
示例
"base": {
"filename": "video001.mp4",
"fileVersion": "1.0.0",
"protocolVersion": "1.0",
"interactMode": "1"
}
全局信息(globle)
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| varList | Array | N | X因子列表 包含了全部X因子的名稱及初始值 數(shù)組中元素個(gè)數(shù)最大值為20 關(guān)于X因子的介紹可參見《互動(dòng)視頻基礎(chǔ)指南》中的X因子 |
"globle": {
"varList":[]
}
varList
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| name | String | Y | X因子名稱,在本文其他部分中使用的X因子都需在此處定義 這些部分包括: 3.3 交互區(qū)間信息interactBlockList 3.4 播放區(qū)間信息 playBlockList 4.4 按鈕元素信息 btns 4.5 定制元素信息 ctrls 最大長(zhǎng)度為20個(gè)英文字母 |
| initValue | String | N | X因子初始值,不填寫默認(rèn)為0 本節(jié)點(diǎn)取值范圍為0~100 |
示例
"varList":[
{
"name": "varA",
"initValue": "50"
},
{
"name": "varB",
"initValue": "50"
}
]
交互區(qū)間信息(interactBlockList)
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| blockid | String | Y | 交互區(qū)間id 本節(jié)點(diǎn)內(nèi)容格式:interact+編號(hào) interact為固定字符編號(hào)為三位數(shù)字,范圍從001~099,順序編號(hào) 命名示例:interact001 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 |
| inPlayBlockid | String | Y | 該交互區(qū)間所在的播放區(qū)間id 該節(jié)點(diǎn)需在索引腳本文件playBlockList節(jié)點(diǎn)(鏈接到3.4)中存在定義,與playBlockList中的blockid節(jié)點(diǎn)相對(duì)應(yīng) 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 |
| startTime | String | N | 交互區(qū)間開始時(shí)間 單位為秒 本節(jié)點(diǎn)可取值為5.0~36000.0的浮點(diǎn)數(shù) 實(shí)際取值需要滿足以下公式: startTime<=交互區(qū)間所對(duì)應(yīng)的視頻片段的總時(shí)長(zhǎng)-交互區(qū)間展示時(shí)長(zhǎng)-2 |
| duration | String | N | 交互區(qū)間的展示時(shí)長(zhǎng),即互動(dòng)結(jié)束時(shí)間減去互動(dòng)開始時(shí)間所得值 本節(jié)點(diǎn)取值范圍為5.0~30.0的浮點(diǎn)數(shù) 單位為秒 |
| exeShowAnimation | N | 是否執(zhí)行組件展示動(dòng)畫 取值為“0”或者不填寫表示不展示動(dòng)畫 取值為“1” 表示展示動(dòng)畫 組件展示動(dòng)畫時(shí)長(zhǎng)為1秒,出現(xiàn)時(shí)組件從界面底部由下至上升起、消失時(shí)由上至下收起 樣式UI0001、樣式UI0002不能設(shè)置該字段 | |
| des | N | 對(duì)交互區(qū)間的描述,將會(huì)用在故事線中作為交互區(qū)間的名稱展示 最大長(zhǎng)度為9個(gè)中英文字符和數(shù)字的組合 | |
| showConditionList | Array | N | 交互區(qū)間展示條件列表 當(dāng)本節(jié)點(diǎn)元素?cái)?shù)量大于0時(shí),交互區(qū)間是否可以展示根據(jù)本節(jié)點(diǎn)中的條件判斷,滿足條件列表中任一條件即可展示交互區(qū)間 數(shù)組中無(wú)元素或沒(méi)有此節(jié)點(diǎn)默認(rèn)為展示交互區(qū)間 本節(jié)點(diǎn)數(shù)組中元素個(gè)數(shù)最大值為20 |
| state | Dictionary | N | 交互區(qū)間開始后,當(dāng)前視頻的播放狀態(tài)信息,可為暫?;蛘卟シ艃煞N狀態(tài)之一 |
| preLoadList | Array | N | 交互區(qū)間中的組件被用戶操作后可能會(huì)觸發(fā)視頻片段的跳轉(zhuǎn)。交互區(qū)間包含的所有組件中有可能會(huì)觸發(fā)視頻片段跳轉(zhuǎn)的,均要將跳轉(zhuǎn)到的視頻信息在此處定義,包含視頻片段對(duì)應(yīng)的播放區(qū)間id和起播時(shí)間 本節(jié)點(diǎn)用于進(jìn)行預(yù)加載 數(shù)組中元素個(gè)數(shù)最大值為10 |
| UIInfo | Dictionary | Y | 交互區(qū)間對(duì)應(yīng)的UI樣式文件、交互區(qū)間腳本文件信息 |
示例
{
"blockid": "interact001",
"inPlayBlockid": "play001",
"startTime": "54.0",
"duration": "20.0",
"exeShowAnimation": "1",
"des": "某某選擇描述",
"showConditionList":[],
"state": {},
"preLoadList":[],
"UIInfo": {}
}
showConditionList
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| expressType | String | N | 此節(jié)點(diǎn)表示條件判斷表達(dá)式類型 交互區(qū)間是否可以展示可通過(guò)對(duì)showConditionList中的條件進(jìn)行逐一判斷確定。條件列表中的條件可采用以下三種形式之一進(jìn)行定義,即本節(jié)點(diǎn)的取值為: condition:條件判斷 max:取最大值 min:取最小值 |
| express | String | N | 條件判斷表達(dá)式 當(dāng)expressType 為condition時(shí),表達(dá)式支持多個(gè)表達(dá)式以&&連接,&&表示需要同時(shí)滿足多個(gè)表達(dá)式才能展示交互區(qū)間。每個(gè)單獨(dú)的條件判斷表達(dá)式左側(cè)為單個(gè)X因子、右側(cè)為單個(gè)值,支持符號(hào)包括:>,<,!=,==,>=,<=,表達(dá)式的最大長(zhǎng)度為30個(gè)英文字母、字符、數(shù)字。示例表達(dá)式:var1>2&&var2<10當(dāng)expressType 為max時(shí),表達(dá)式需要包含兩個(gè)及以上X因子,X因子之間以逗號(hào)分隔,需要判斷這些X因子中哪個(gè)最大,表達(dá)式的最大長(zhǎng)度為30個(gè)英文字母、字符、數(shù)字。示例表達(dá)式:var1,var2,var3 當(dāng)expressType 為min時(shí),表達(dá)式需要包含兩個(gè)及以上X因子,X因子之間以逗號(hào)分隔,需要判斷這些X因子中哪個(gè)最小,表達(dá)式的最大長(zhǎng)度為30個(gè)英文字母、字符、數(shù)字。示例表達(dá)式:var1,var2,var3 |
| expressPara | String | N | 本節(jié)點(diǎn)為表達(dá)式的參數(shù) 當(dāng)expressType為conditon時(shí)此項(xiàng)不填寫當(dāng)expressType為max時(shí)此項(xiàng)必填,內(nèi)容為某個(gè)X因子,表示express列出的X因子中,最大的一個(gè)是否為本節(jié)點(diǎn)填寫的X因子,若是則滿足展示條件,否則不滿足展示條件,參數(shù)示例:var1 當(dāng)expressType為min時(shí)此項(xiàng)必填,內(nèi)容為某個(gè)X因子,表示express列出的X因子中,最小的一個(gè)是否為本節(jié)點(diǎn)填寫的X因子,若是則滿足展示條件,否則不滿足展示條件,參數(shù)示例:var2 |
示例
"showConditionList":[
{ // 表示X因子var1大于3并且X因子var2小于10時(shí)
// 則滿足展示條件 可展示交互區(qū)間
"express":"var1>3&&var2<10",
"expressType":"condition"
},
{ // 表示X因子var1、var2中如果var2最大
// 則滿足展示條件 可展示交互區(qū)間
"express":"var1,var2,var3",
"expressType":"max",
"expressPara":"var2"
},
{ // 表示X因子var1、var2中如果var2最小
// 則滿足展示條件 可展示交互區(qū)間
"express":"var1,var2,var3",
"expressType":"min",
"expressPara":"var2"
}
]
state
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| playState | String | N | 表示交互區(qū)間展示時(shí)視頻的播放狀態(tài),取值可以為以下兩種 play:正常播放(僅支持小寫) pause:暫停播放(僅支持小寫) 不填寫默認(rèn)為play |
示例
"state": {
"playState": "pause"
}
preLoadList
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| playerBlockid | String | N | 本節(jié)點(diǎn)表示需要進(jìn)行預(yù)加載的播放區(qū)間id 該節(jié)點(diǎn)需在索引腳本文件playBlockList節(jié)點(diǎn)(鏈接到3.4)中存在定義,與playBlockList中的blockid節(jié)點(diǎn)相對(duì)應(yīng)。 交互區(qū)間中的組件被用戶操作后可能會(huì)觸發(fā)視頻片段的跳轉(zhuǎn)。交互區(qū)間包含的所有組件中有可能會(huì)觸發(fā)視頻片段跳轉(zhuǎn)的,均要將跳轉(zhuǎn)到的視頻片段對(duì)應(yīng)的播放區(qū)間id在此處定義 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 |
| preLoadTime | String | N | 需要預(yù)加載的視頻片段的起播時(shí)間 交互區(qū)間包含的組件元素中有可能會(huì)觸發(fā)視頻片段跳轉(zhuǎn)的,均要將跳轉(zhuǎn)到的視頻片段起播時(shí)間在此處定義 取值范圍0~36000.0浮點(diǎn)數(shù),不填寫默認(rèn)為0 單位為秒 |
示例
"preLoadList":[
{
"playerBlockid": "play002",
"preLoadTime": "20.0 "
}
]
UIInfo
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| UIid | String | Y | 本節(jié)點(diǎn)為交互區(qū)間UI樣式id 目前平臺(tái)開放三種UI樣式,對(duì)應(yīng)樣式編號(hào)為 UI0001 UI0002 UI0003 UI0004 |
| paraFile | String | N | 交互區(qū)間腳本文件路徑+文件名 路徑為相對(duì)與腳本文件集根路徑的相對(duì)路徑 最大長(zhǎng)度為30個(gè)英文字母、數(shù)字 |
示例
"UIInfo": {
"UIid": "UI0001",
"paraFile" : "interact001-Para.json"
}
播放區(qū)間信息(playBlockList)
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| blockid | String | Y | 播放區(qū)間id 本節(jié)點(diǎn)內(nèi)容格式為play+編號(hào) 編號(hào)為三位數(shù)字,范圍從001~099,順序編號(hào) 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 |
| filename | String | Y | 播放區(qū)間對(duì)應(yīng)視頻文件的名稱 該名稱在整個(gè)播放區(qū)間列表中需唯一 需包含擴(kuò)展名,擴(kuò)展名固定為“.mp4” 最大長(zhǎng)度為20個(gè)英文字母或數(shù)字 |
| endAction | Dictionary | N | 當(dāng)一個(gè)視頻片段播放結(jié)束時(shí)可能存在需要處理的操作,如播放下一視頻片段等,本節(jié)點(diǎn)中需要列出相關(guān)操作的定義 不定義則意味著播放區(qū)間對(duì)應(yīng)的視頻片段播放結(jié)束后整個(gè)互動(dòng)視頻播放結(jié)束 |
示例
{
"blockid": "play001",
"filename": "video002.mp4",
"endAction": {}
}
endAction
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| actionName | String | Y | 本節(jié)點(diǎn)表示播放區(qū)間對(duì)應(yīng)的視頻片段播放結(jié)束的時(shí)候,需要處理的事件名稱,具體取值如下: SWITCHVIDEO :若當(dāng)前播放的視頻片段播放結(jié)束后,需要切換到下一視頻片段播放,那么應(yīng)在當(dāng)前視頻片段對(duì)應(yīng)的播放區(qū)間定義中配置endAction的actionName為SWITCHVIDEO CONDITIONSWITCH:若當(dāng)前播放的視頻片段播放結(jié)束后,需要根據(jù)X因子的值選擇將要播放的下一視頻片段,那么應(yīng)在當(dāng)前視頻片段對(duì)應(yīng)的播放區(qū)間定義中配置endAction的actionName為CONDITIONSWITCH |
| nextPlayBlockid | String | N | 當(dāng)前視頻片段播放結(jié)束時(shí),可切換至下一視頻片段播放,本節(jié)點(diǎn)為下一視頻片段所對(duì)應(yīng)的播放區(qū)間id本節(jié)點(diǎn)需在索引腳本文件playBlockList節(jié)點(diǎn)中存在定義,與playBlockList中的blockid節(jié)點(diǎn)相對(duì)應(yīng) 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 當(dāng)actionName 為SWITCHVIDEO時(shí)此項(xiàng)必填 當(dāng)actionName 為CONDITIONSWITCH時(shí)此項(xiàng)不填 當(dāng)索引腳本文件中,base字段interactMode節(jié)點(diǎn)為0時(shí)即畫面信息探索類型,此時(shí)nextPlayBlockid必填,固定為第一段視頻的播放區(qū)間id |
| nextPlayTime | String | N | 當(dāng)前視頻片段播放結(jié)束時(shí),可切換至下一視頻片段播放,本節(jié)點(diǎn)為下一視頻片段的起播時(shí)間 取值范圍為0~36000.0的浮點(diǎn)數(shù),不填寫默認(rèn)為0單位為秒 當(dāng)actionName 為SWITCHVIDEO時(shí)此項(xiàng)必填 當(dāng)actionName 為CONDITIONSWITCH時(shí)此項(xiàng)不填 |
| switchConditionList | Array | N | 若當(dāng)前播放的視頻片段播放結(jié)束后,需要根據(jù)X因子的值有條件的選擇將要播放的下一視頻片段,則可配置actionName為CONDITIONSWITCH,并在本節(jié)點(diǎn)中配置需要判斷的條件列表 數(shù)組元素個(gè)數(shù)最大值為10 CONDITIONSWITCH使用的切換條件列表 當(dāng)actionName 為CONDITIONSWITCH時(shí)此項(xiàng)必填 當(dāng)actionName 為SWITCHVIDEO時(shí)此項(xiàng)不填 |
示例
"endAction" : {
"actionName": "SWITCHVIDEO",
"nextPlayBlockid": "play001",
"nextPlayTime": "76.0"
}
switchConditionList
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| expressType | String | N | 此節(jié)點(diǎn)表示條件判斷表達(dá)式類型 若當(dāng)前視頻片段播放結(jié)束后需要根據(jù)X因子的值判斷將要播放的下一視頻片段,可通過(guò)對(duì)showConditionList中的條件進(jìn)行逐一判斷確定。判斷條件可采用以下三種形式之一進(jìn)行定義,即本節(jié)點(diǎn)的取值為: condition:條件判斷 max:取最大值 min:取最小值 |
| express | String | N | 本節(jié)點(diǎn)為條件判斷表達(dá)式 當(dāng)expressType為condition時(shí):支持多個(gè)表達(dá)式以&&連接,&&表示需要同時(shí)滿足多個(gè)表達(dá)式才能展示交互區(qū)間。每個(gè)單獨(dú)的條件判斷表達(dá)式左側(cè)為單個(gè)X因子、右側(cè)為單個(gè)值,支持符號(hào)包括:>,<,!=,==,>=,<=,最大長(zhǎng)度為30個(gè)英文字母、字符、數(shù)字。示例表達(dá)式:varA>=3&&varB<2 當(dāng)expressType為max時(shí):表達(dá)式需要包含兩個(gè)及以上X因子,X因子之間以逗號(hào)分隔,表示判斷這些X因子中哪個(gè)最大,最大長(zhǎng)度為30個(gè)英文字母、字符、數(shù)字。示例表達(dá)式:varA,varB,varC 當(dāng)expressType為min時(shí):表達(dá)式需要包含兩個(gè)及以上X因子,X因子之間以逗號(hào)分隔,表示判斷這些X因子中哪個(gè)最小,最大值長(zhǎng)度30個(gè)英文字母、字符、數(shù)字。示例表達(dá)式:varA,varB,varC |
| expressPara | String | N | 本節(jié)點(diǎn)為表達(dá)式的參數(shù) 當(dāng)expressType為conditon時(shí)此項(xiàng)不填寫 當(dāng)expressType為max時(shí)此項(xiàng)必填,內(nèi)容為某個(gè)X因子,表示express列出的X因子中,最大的一個(gè)是否為本節(jié)點(diǎn)填寫的X因子,若是則滿足切換條件,否則不滿足切換條件 當(dāng)expressType為min時(shí)此項(xiàng)必填,內(nèi)容為某個(gè)X因子,表示express列出的X因子中,最小的一個(gè)是否為本節(jié)點(diǎn)填寫的X因子,若是則滿足切換條件,否則不滿足切換條件 |
| nextPlayBlockid | String | N | 當(dāng)上述條件能夠滿足時(shí),可通過(guò)本節(jié)點(diǎn)中的內(nèi)容判斷將要播放的下一視頻片段,本節(jié)點(diǎn)為下一片段所對(duì)應(yīng)的播放區(qū)間id 本節(jié)點(diǎn)需在索引腳本文件playBlockList節(jié)點(diǎn)(鏈接到3.4)中存在定義,與playBlockList中的blockid節(jié)點(diǎn)相對(duì)應(yīng) 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 |
| nextPlayTime | String | N | 當(dāng)上述條件能夠滿足時(shí),可通過(guò)本節(jié)點(diǎn)中的內(nèi)容判斷將要播放的下一視頻片段的起播時(shí)間 取值范圍為0~36000.0的浮點(diǎn)數(shù),不填寫默認(rèn)為0單位為秒 |
示例
"switchConditionList":[
{
"express":"varA>=3&&varB<2",
"expressType":"condition",
"nextPlayBlockid": "play008",
"nextPlayTime": "0"
},
{
"express": "varA,varB,varC",
"expressType":"max",
"expressPara":"varA",
"nextPlayBlockid": "play009",
"nextPlayTime": "0"
},
{
"express":"varA,varB,varC ",
"expressType":"min",
"expressPara":"varB",
"nextPlayBlockid": "play010",
"nextPlayTime": "0"
}
]
交互區(qū)間腳本文件說(shuō)明及定義
交互區(qū)間腳本文件基礎(chǔ)結(jié)構(gòu)
交互區(qū)間腳本文件為交互區(qū)間UI樣式文件提供了組件展示所必要的信息,作為交互區(qū)間UI樣式文件的輸入,實(shí)現(xiàn)組件內(nèi)容的動(dòng)態(tài)化處理、展示。
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| base | Dictionary | Y | 包含了文檔所需要的協(xié)議版本號(hào)、文件版本號(hào)等基本信息 |
| metas | Array | N | 包含了組件中可供內(nèi)容制作者配置的全部文本元素 本節(jié)點(diǎn)數(shù)組中元素個(gè)數(shù)最大值為10 |
| imgs | Array | N | 包含了組件中可供內(nèi)容制作者配置的全部圖像元素 本節(jié)點(diǎn)數(shù)組中元素個(gè)數(shù)最大值為10 |
| btns | Array | N | 包含了組件中可供內(nèi)容制作者配置的全部按鈕元素 本節(jié)點(diǎn)數(shù)組中元素個(gè)數(shù)最大值為10 |
| ctrls | Array | N | 包含了組件中可供內(nèi)容制作者配置的全部其他定制元素 本節(jié)點(diǎn)數(shù)組中元素個(gè)數(shù)最大值為10 |
| statistics | Dictionary | Y | 統(tǒng)計(jì)信息,發(fā)送頁(yè)面展示統(tǒng)計(jì)時(shí)使用 |
示例
{
"base": {},
"metas":[],
"imgs":[],
"btns":[],
"ctrls":[],
"statistics":{}
}
基礎(chǔ)信息(base)
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| interactid | String | Y | 交互區(qū)間id 本節(jié)點(diǎn)內(nèi)容格式:interact+編號(hào) interact為固定字符編號(hào)為三位數(shù)字,范圍從001~099,順序編號(hào) 命名示例:interact001 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 |
| fileVersion | String | Y | 交互區(qū)間腳本文件的文件版本號(hào),當(dāng)交互區(qū)間腳本文件被修改后,需要更新此節(jié)點(diǎn)以做區(qū)分 三個(gè)小于10的正整數(shù)以點(diǎn)分割,例如1.0.0 |
| protocolVersion | String | Y | 協(xié)議版本號(hào),當(dāng)前協(xié)議版本號(hào)固定為1.0 |
示例
"base": {
"interactid ": "interact017",
"fileVersion": "1.0.0",
"protocolVersion": "1.0"
}
文本元素信息(metas)
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| id | String | Y | 文本元素id 本節(jié)點(diǎn)內(nèi)容格式為meta+編號(hào) meta為固定字符 編號(hào)為三位數(shù)字,范圍從001~099,順序編號(hào) |
| text | String | N | 文本元素展示在界面中的文本內(nèi)容 最大長(zhǎng)度為50個(gè)中英文字符、數(shù)字 |
示例
"metas":[
{
"id":"meta001",
"text":"接下來(lái)"
},
{
"id":"meta002",
"text":"你有沒(méi)有什么話對(duì)我說(shuō)?"
}
]
圖像元素信息(imgs)
屬性示例
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| id | String | Y | 圖像元素id 本節(jié)點(diǎn)內(nèi)容格式為img+編號(hào) img為固定字符 編號(hào)為三位數(shù)字,范圍從001~099,順序編號(hào) |
| url | String | N | 圖像元素在界面中展示的圖片對(duì)應(yīng)的圖片路徑 路徑為資源在整個(gè)腳本文件集中的相對(duì)路徑 最大長(zhǎng)度為30個(gè)中英文字符、數(shù)字 例如:res/select.png |
示例
"imgs":[
{
"id":"img001",
"url":"res/select.png"
},
{
"id":"img002",
"url":"res/selected.png"
}
]
按鈕元素信息(btns)
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| id | String | Y | 按鈕元素id 本節(jié)點(diǎn)內(nèi)容格式為btn+編號(hào) btn為固定字符 編號(hào)為三位數(shù)字,范圍從001~099,順序編號(hào) |
| text | String | N | 按鈕元素在界面中展示的文本內(nèi)容 最大長(zhǎng)度為10個(gè)中英文字符、數(shù)字 |
| des | String | N | 按鈕元素的描述,僅用于統(tǒng)計(jì),不用做實(shí)際展示 最大長(zhǎng)度為20個(gè)中英文字符、數(shù)字 |
| isDefaultSelect | String | N | 倒計(jì)時(shí)結(jié)束之后是否以本按鈕元素為默認(rèn)選項(xiàng) “1”默認(rèn)選項(xiàng),其他值或空值為非默認(rèn)選項(xiàng) 所有按鈕元素中最多只能有一個(gè)為1,倒計(jì)時(shí)結(jié)束后會(huì)默認(rèn)選擇該選項(xiàng) 如果一個(gè)按鈕配置了showConditionList則不能設(shè)置isDefaultSelect為1 |
| backImgNormal | String | N | 按鈕元素在界面中展示的背景圖片的路徑 路徑為資源在整個(gè)腳本文件集中的相對(duì)路徑 最大長(zhǎng)度為30個(gè)中英文字符、數(shù)字 例如:res/back1.png |
| showConditionList | Array | N | 當(dāng)組件展示時(shí),元素可能會(huì)受到X因子的影響,根據(jù)X因子的值來(lái)確定是否能夠展示,此時(shí)可以使用本節(jié)點(diǎn)來(lái)判斷元素是否滿足展示條件 當(dāng)本節(jié)點(diǎn)不為空時(shí)展示條件中有任意一條滿足則展示元素,否則不展示 當(dāng)本節(jié)點(diǎn)為空或不存在時(shí)默認(rèn)為展示對(duì)應(yīng)的元素 本節(jié)點(diǎn)數(shù)組中元素個(gè)數(shù)最大值為20 |
| statistics | Dictionary | Y | 發(fā)送點(diǎn)擊統(tǒng)計(jì)時(shí)使用的信息 按鈕點(diǎn)擊后根據(jù)本節(jié)點(diǎn)內(nèi)容發(fā)送點(diǎn)擊統(tǒng)計(jì),用于統(tǒng)計(jì)展示點(diǎn)擊比 |
| actionList | Array | N | 本節(jié)點(diǎn)為按鈕被點(diǎn)擊后所做觸發(fā)事件的列表 當(dāng)一個(gè)按鈕被點(diǎn)擊時(shí),用戶操作可能會(huì)觸發(fā)視頻片段的切換、視頻的暫停、X因子的計(jì)算等操作,這些操作均可在本節(jié)點(diǎn)中以列表形式定義 本節(jié)點(diǎn)數(shù)組中元素個(gè)數(shù)最大值為20 |
示例
"btns":[
{
"id":"btn001",
"text":"不后悔",
"des":"不后悔",
"isDefaultSelect":"1",
"backImgNormal":"res/back1.png",
"showConditionList":[],
"statistics":{},
"actionList":[]
}
]
statistics
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| rseat | String | N | 統(tǒng)計(jì)節(jié)點(diǎn),定義了按鈕在組件中的位置,當(dāng)用戶點(diǎn)擊按鈕時(shí)將該節(jié)點(diǎn)的作為統(tǒng)計(jì)信息發(fā)送到后臺(tái),以便于后臺(tái)統(tǒng)計(jì)展示點(diǎn)擊比 最大長(zhǎng)度為20個(gè)中英文字符 如不填寫默認(rèn)為當(dāng)前區(qū)間對(duì)應(yīng)的元素id 例如:btn001 |
| block | String | N | 統(tǒng)計(jì)節(jié)點(diǎn),定義了按鈕的描述信息,當(dāng)用戶點(diǎn)擊按鈕時(shí)將發(fā)送該節(jié)點(diǎn)的統(tǒng)計(jì)信息到后臺(tái),以便于后臺(tái)統(tǒng)計(jì)展示點(diǎn)擊比 最大長(zhǎng)度為20個(gè)中英文字符如不填寫默認(rèn)為當(dāng)前交互區(qū)間的interactid 例如:interact001 |
示例
"statistics":{
"rseat":"btn001",
"block":"interact001"
}
actionList
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| actionName | String | N | 本節(jié)點(diǎn)為按鈕被點(diǎn)擊后所觸發(fā)的事件的名稱 當(dāng)一個(gè)按鈕被點(diǎn)擊時(shí),用戶操作可能會(huì)觸發(fā)視頻片段的切換、視頻的暫停、X因子的計(jì)算等操作,這些操作在本節(jié)點(diǎn)中定義,并配合事件參數(shù)字典actionPara共同完成功能。 本節(jié)點(diǎn)中定義的事件可以為以下幾種: ALGORITHM:X因子運(yùn)算,有參數(shù),參數(shù)在actionPara中定義 SWITCHVIDEO:視頻切換,有參數(shù),參數(shù)在actionPara中定義 CONDITIONSWITCH:條件視頻切換,有參數(shù),參數(shù)在actionPara中定義 PLAY:播放,無(wú)參數(shù) PAUSE:暫停,無(wú)參數(shù) REMOVE:移除交互區(qū)間,無(wú)參數(shù) |
| actionPara | Dictionary | N | 以上有參數(shù)的事件對(duì)應(yīng)的參數(shù)信息字典 當(dāng)actionName 為ALGORITHM時(shí),參數(shù)定義詳見ALGORITHM 當(dāng)actionName 為SWITCHVIDEO時(shí),參數(shù)定義詳見SWITCHVIDEO 當(dāng)actionName 為CONDITIONSWITCH時(shí),參數(shù)定義詳見CONDITIONSWITCH |
示例
"actionList":[
{
"actionName":"ALGORITHM",
"actionPara":{}
}
]
ALGORITHM
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| algorithmList | Array | N | 一組X因子的運(yùn)算操作集,不支持單一因子的重復(fù)計(jì)算 當(dāng)用戶點(diǎn)擊按鈕元素時(shí),可根據(jù)本節(jié)點(diǎn)中定義的運(yùn)算表達(dá)式改變X因子的值 表達(dá)式形式如var1=var1+1,等號(hào)左邊為要改變的X因子,等號(hào)右側(cè)為公式 公式可以支持多個(gè)X因子之間的加減計(jì)算 當(dāng)計(jì)算所得到的X因子小于0時(shí),將取0為結(jié)果 數(shù)組元素個(gè)數(shù)最大值為10 |
示例
{
"actionName":"ALGORITHM",
"actionPara":{
"algorithmList":[
"globalA=varA-1",
"globalB=varB+1"
]
}
}
SWITCHVIDEO
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| insertToTime | String | N | 當(dāng)用戶點(diǎn)擊按鈕元素時(shí),可通過(guò)在actionList中配置SWITCHVIDEO事件,實(shí)現(xiàn)跳轉(zhuǎn)到下一個(gè)視頻片段,可立即切換,也可預(yù)設(shè)當(dāng)前視頻切換到下一視頻的時(shí)間。 當(dāng)insertToTime為0或者空則立即播放下一視頻 當(dāng)insertToTime大于0時(shí)將以insertToTime為預(yù)設(shè)時(shí)間,在該時(shí)間點(diǎn)切換至下一視頻 例如,insertToTime為100時(shí),當(dāng)前視頻將會(huì)在播放到100秒時(shí)執(zhí)行切換下一視頻的操作 本節(jié)點(diǎn)可取值為0~36000.0的浮點(diǎn)數(shù) 單位為秒 本節(jié)點(diǎn)的最小值需要大于交互區(qū)間的開始時(shí)間 本節(jié)點(diǎn)的最大值值需要小于等于當(dāng)前視頻片段的總時(shí)長(zhǎng) |
| nextPlayBlockid | String | N | 下一視頻片段對(duì)應(yīng)的播放區(qū)間id 該節(jié)點(diǎn)需在索引腳本文件playBlockList節(jié)點(diǎn)(鏈接到3.4)中存在定義,與playBlockList中的blockid節(jié)點(diǎn)相對(duì)應(yīng) 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 |
| nextPlayTime | String | N | 下一視頻片段的起播時(shí)間 本節(jié)點(diǎn)可取值為0~36000.0的浮點(diǎn)數(shù) 單位為秒 不填寫默認(rèn)為0 本節(jié)點(diǎn)的值需要小于下一視頻片段的總時(shí)長(zhǎng) |
示例
{
"actionName":"SWITCHVIDEO",
"actionPara":{
"insertToTime":"0",
"nextPlayBlockid":"play002",
"nextPlayTime":"0"
}
}
CONDITIONSWITCH
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| switchConditionList(鏈接到3.4.1.1) | Array | N | CONDITIONSWITCH使用的切換條件列表 若當(dāng)用戶觸發(fā)按鈕元素時(shí),需要根據(jù)X因子的值有條件的選擇將要播放的下一視頻片段,則可配置actionName為CONDITIONSWITCH,并在本節(jié)點(diǎn)中配置需要判斷的條件列表及滿足條件后跳轉(zhuǎn)的下一視頻片段的信息 列表從頭開始遍歷數(shù)組,找到第一個(gè)滿足條件的元素,則取其節(jié)點(diǎn)信息進(jìn)行視頻切換 express、expressType、expressPara三個(gè)元素用于判斷切換條件是否滿足,具體含義可參見本文playBlockList中switchConditionList對(duì)三個(gè)屬性的描述 insertToTime、nextPlayBlockid、nextPlayTime三個(gè)元素用于滿足條件后的視頻切換,具體含義SWITCHVIDEO中對(duì)三個(gè)屬性的描述 數(shù)組元素個(gè)數(shù)最大值為10 |
示例
{
"actionName": "CONDITIONSWITCH",
"actionPara":{
"switchConditionList":[
{
"express":"varA,varB,varC",
"expressType":"max",
"expressPara":"varA",
"insertToTime":"",
"nextPlayBlockid": "play019",
"nextPlayTime": "0"
},
{
"express":"varA,varB,varC",
"expressType":"max",
"expressPara":"varB",
"insertToTime":"",
"nextPlayBlockid": "play032",
"nextPlayTime": "0"
},
{
"express":"varA,varB,varC",
"expressType":"max",
"expressPara":"varC",
"insertToTime":"",
"nextPlayBlockid": "play002",
"nextPlayTime": "0"
}
]
}
}
定制元素信息(ctrls)
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| id | String | Y | 元素id 本節(jié)點(diǎn)內(nèi)容格式為ctrl+編號(hào) ctrl為固定字符 編號(hào)為三位數(shù)字,范圍從001~099,順序編號(hào) |
| controlType | String | N | 定制元素類型 目前僅支持倒計(jì)時(shí)元素 倒計(jì)時(shí)元素該節(jié)點(diǎn)的值固定為COUNTDOWN |
| controlBackColor | String | N | 元素背景的RGB十六進(jìn)制顏色值 固定以0x開頭后接RGB十六進(jìn)制顏色值 顏色數(shù)據(jù)取值從000000~ffffff 例如Oxffffff |
| totalTime | String | N | 交互區(qū)間的展示時(shí)長(zhǎng) 本節(jié)點(diǎn)取值范圍為5.0~30.0的浮點(diǎn)數(shù)本 節(jié)點(diǎn)需要與交互區(qū)間腳本文件在索引腳本文件中定義的展示時(shí)長(zhǎng)相同,具體參見interactBlockList中的duration 單位為秒 |
| statistics | Dictionary | Y | 默認(rèn)選擇統(tǒng)計(jì)節(jié)點(diǎn) 倒計(jì)時(shí)結(jié)束之后如果沒(méi)有按鈕元素配置了isDefaultSelect則執(zhí)行COUNTDOWN倒計(jì)時(shí)元素中的事件 |
| actionList | Array | N | 倒計(jì)時(shí)完成后默認(rèn)執(zhí)行事件 倒計(jì)時(shí)結(jié)束之后如果沒(méi)有按鈕元素配置了isDefaultSelect則執(zhí)行COUNTDOWN倒計(jì)時(shí)元素actionList中定義的事件 本節(jié)點(diǎn)數(shù)組中元素個(gè)數(shù)最大值為20 |
示例
"ctrls": [
{
"id":"ctrl001",
"controlType":"COUNTDOWN",
"controlBackColor":"0xffffff",
"totalTime":"7",
"statistics":{
"rseat":"0",
"block":"call block"
},
"actionList":[
{
"actionName":"PLAY",
"actionPara":{}
},
{
"actionName":"REMOVE",
"actionPara":{}
}
]
}
]
統(tǒng)計(jì)信息(statistics)
屬性說(shuō)明
| 參數(shù)名稱 | 類型 | 必填 | 說(shuō)明 |
|---|---|---|---|
| rpage | String | N | 統(tǒng)計(jì)節(jié)點(diǎn),定義了交互區(qū)間的頁(yè)面信息,當(dāng)用戶點(diǎn)擊按鈕時(shí)將發(fā)送該節(jié)點(diǎn)的統(tǒng)計(jì)信息到后臺(tái),以便于統(tǒng)計(jì)展示點(diǎn)擊比 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 如不填寫默認(rèn)為索引腳本文件中base節(jié)點(diǎn)下filename節(jié)點(diǎn)的內(nèi)容 |
| block | String | N | 統(tǒng)計(jì)節(jié)點(diǎn),定義了交互區(qū)塊的信息,當(dāng)用戶點(diǎn)擊按鈕時(shí)將發(fā)送該節(jié)點(diǎn)的統(tǒng)計(jì)信息到后臺(tái),以便于后臺(tái)統(tǒng)計(jì)展示點(diǎn)擊比 最大長(zhǎng)度為20個(gè)英文字母、數(shù)字 如不填寫默認(rèn)為交互區(qū)間id 例如:interact001 |
示例
"statistics":{
"rpage":"video001.mp4",
"block":"interact001"
}
交互區(qū)間UI樣式文件說(shuō)明
交互區(qū)間組件樣式文件以交互區(qū)間腳本文件為輸入,以UI為輸出。該文件從交互區(qū)間腳本文件中獲取可動(dòng)態(tài)配置的組件內(nèi)容,如文字、圖片、背景樣式等,經(jīng)過(guò)運(yùn)行時(shí)的動(dòng)態(tài)化UI生成,實(shí)現(xiàn)組件的展示及交互區(qū)間組件樣式文件的復(fù)用。
目前愛奇藝平臺(tái)開放的交互區(qū)間UI樣式包含以下四種:
| 樣式編號(hào) | 樣式名稱 | 可參考實(shí)現(xiàn)的互動(dòng)能力 |
|---|---|---|
| UI0001 | 交互區(qū)間UI樣式一 | 分支劇情 |
| UI0002 | 交互區(qū)間UI樣式二 | 分支劇情 |
| UI0003 | 交互區(qū)間UI樣式三 | 畫面信息探索 |
| UI0004 | 交互區(qū)間UI樣式四 | 畫面信息探索 |
交互區(qū)間UI樣式一
樣式描述

樣式說(shuō)明
本樣式中要求交互區(qū)間腳本文件除了滿足上文中對(duì)于交互區(qū)間腳本的定義外,還需滿足以下條件:
| 節(jié)點(diǎn)名稱 | 數(shù)組元素?cái)?shù)量要求 | 數(shù)組中各元素與樣式的對(duì)應(yīng)關(guān)系 |
|---|---|---|
| 文本元素?cái)?shù)組metas | 1 | 文本元素?cái)?shù)組中第一個(gè)元素的text節(jié)點(diǎn)內(nèi)容為標(biāo)題內(nèi)容 text節(jié)點(diǎn)內(nèi)容最大長(zhǎng)度為12個(gè)中英文字符、數(shù)字 |
| 圖像元素?cái)?shù)組imgs | 2 | 圖像元素?cái)?shù)組中第一個(gè)元素的url節(jié)點(diǎn)內(nèi)容為樣式中各按鈕元素選中前的背景圖路徑 數(shù)組中第二個(gè)元素的url節(jié)點(diǎn)內(nèi)容為樣式中各按鈕元素選中后的背景圖路徑 上述路徑均為相對(duì)于腳本文件集根路徑的路徑 |
| 按鈕元素?cái)?shù)組btns | 1~5 | 按鈕元素?cái)?shù)組中元素的個(gè)數(shù)與樣式中展示在界面上的按鈕的數(shù)量相同,第一到第五個(gè)元素將從左到右依次排列 各按鈕元素中的text節(jié)點(diǎn)內(nèi)容為按鈕展示在界面上的名稱 text節(jié)點(diǎn)內(nèi)容最大長(zhǎng)度為4個(gè)中英文字符、數(shù)字 |
| 定制元素?cái)?shù)組ctrls | 1 | 定制元素?cái)?shù)組個(gè)數(shù)固定為1 類型controlType內(nèi)容固定為COUNTDOWN,即倒計(jì)時(shí)元素。 |
注意事項(xiàng)
本樣式自帶展示收起動(dòng)畫效果,因此使用本樣式時(shí),交互區(qū)間定義中的exeShowAnimation節(jié)點(diǎn)不能為1。
交互區(qū)間UI樣式二
樣式描述

樣式說(shuō)明
本樣式與樣式一的主要差別在于無(wú)標(biāo)題內(nèi)容。
本樣式中要求交互區(qū)間腳本文件除了滿足上文中對(duì)于交互區(qū)間腳本的定義外,還需滿足以下條件:
| 節(jié)點(diǎn)名稱 | 數(shù)組元素?cái)?shù)量要求 | 數(shù)組中各元素與樣式的對(duì)應(yīng)關(guān)系 |
|---|---|---|
| 文本元素?cái)?shù)組metas | 0 | 文本元素?cái)?shù)組數(shù)量固定為0 |
| 圖像元素?cái)?shù)組imgs | 2 | 圖像元素?cái)?shù)組中第一個(gè)元素的url節(jié)點(diǎn)內(nèi)容為樣式中各按鈕元素選中前的背景圖路徑 數(shù)組中第二個(gè)元素的url節(jié)點(diǎn)內(nèi)容為樣式中各按鈕元素選中后的背景圖路徑 數(shù)組中第三個(gè)元素的url節(jié)點(diǎn)內(nèi)容為組件背景圖 上述路徑均為相對(duì)于腳本文件集根路徑的路徑 |
| 按鈕元素?cái)?shù)組btns | 1~5 | 按鈕元素?cái)?shù)組中元素的個(gè)數(shù)與樣式中展示在界面上的按鈕的數(shù)量相同,第一到第五個(gè)元素將從左到右依次排列 各按鈕元素中的text節(jié)點(diǎn)內(nèi)容為按鈕展示在界面上的名稱 text節(jié)點(diǎn)內(nèi)容最大長(zhǎng)度為4個(gè)中英文字符、數(shù)字 |
| 定制元素?cái)?shù)組ctrls | 1 | 定制元素?cái)?shù)組個(gè)數(shù)固定為1 類型節(jié)點(diǎn)controlType內(nèi)容固定為COUNTDOWN,即倒計(jì)時(shí)元素。 |
注意事項(xiàng)
本樣式自帶展示收起動(dòng)畫效果,因此使用本樣式時(shí),交互區(qū)間定義中的exeShowAnimation節(jié)點(diǎn)不能為1。
交互區(qū)間UI樣式三
樣式描述

樣式說(shuō)明
本樣式中要求交互區(qū)間腳本文件除了滿足上文中對(duì)于交互區(qū)間腳本的定義外,還需滿足以下條件:
| 節(jié)點(diǎn)名稱 | 數(shù)組元素?cái)?shù)量要求 | 數(shù)組中各元素與樣式的對(duì)應(yīng)關(guān)系 |
|---|---|---|
| 文本元素?cái)?shù)組metas | 2 | 文本元素?cái)?shù)組第一個(gè)元素的text節(jié)點(diǎn)內(nèi)容為提示內(nèi)容 文本元素?cái)?shù)組第二個(gè)元素的text節(jié)點(diǎn)內(nèi)容為標(biāo)題內(nèi)容 text節(jié)點(diǎn)內(nèi)容最大長(zhǎng)度為12個(gè)中英文字符、數(shù)字 |
| 圖像元素?cái)?shù)組imgs | 3 | 圖像元素?cái)?shù)組中第一個(gè)元素的url節(jié)點(diǎn)內(nèi)容為組件背景圖的圖片路徑 數(shù)組中第二個(gè)元素的url節(jié)點(diǎn)內(nèi)容為組件左側(cè)用圖的圖片路徑 數(shù)組中第三個(gè)元素的url節(jié)點(diǎn)內(nèi)容為組件提示信息背景圖的圖片路徑 上述路徑均為相對(duì)于腳本文件集根路徑的路徑 |
| 按鈕元素?cái)?shù)組btns | 3 | 按鈕元素?cái)?shù)組中第一個(gè)元素為關(guān)閉按鈕,backImgNormal節(jié)點(diǎn)內(nèi)容為按鈕的背景圖片路徑 按鈕元素?cái)?shù)組中第二個(gè)元素為左側(cè)按鈕,text節(jié)點(diǎn)內(nèi)容為按鈕展示在界面上的名稱,backImgNormal節(jié)點(diǎn)內(nèi)容為按鈕的背景圖片路徑 按鈕元素?cái)?shù)組中第三個(gè)元素為右側(cè)按鈕,text節(jié)點(diǎn)內(nèi)容為按鈕展示在界面上的名稱,backImgNormal節(jié)點(diǎn)內(nèi)容為按鈕的背景圖片路徑 text節(jié)點(diǎn)內(nèi)容最大長(zhǎng)度為4個(gè)中英文字符、數(shù)字 |
| 定制元素?cái)?shù)組ctrls | 1 | 定制元素?cái)?shù)組個(gè)數(shù)固定為1 類型節(jié)點(diǎn)controlType內(nèi)容固定為COUNTDOWN,即倒計(jì)時(shí)元素。 |
交互區(qū)間UI樣式四
樣式描述

樣式說(shuō)明
本樣式中要求交互區(qū)間腳本文件除了滿足上文中對(duì)于交互區(qū)間腳本的定義外,還需滿足以下條件:
| 節(jié)點(diǎn)名稱 | 數(shù)組元素?cái)?shù)量要求 | 數(shù)組中各元素與樣式的對(duì)應(yīng)關(guān)系 |
|---|---|---|
| 文本元素?cái)?shù)組metas | 1 | 文本元素?cái)?shù)組第一個(gè)元素的text節(jié)點(diǎn)內(nèi)容為提示內(nèi)容 text節(jié)點(diǎn)內(nèi)容最大長(zhǎng)度為12個(gè)中英文字符、數(shù)字 |
| 圖像元素?cái)?shù)組imgs | 3 | 圖像元素?cái)?shù)組第一個(gè)元素的url節(jié)點(diǎn)內(nèi)容為組件背景圖的圖片路徑 數(shù)組中第二個(gè)元素的url節(jié)點(diǎn)內(nèi)容為組件左側(cè)用圖的圖片路徑 數(shù)組中第三個(gè)元素的url節(jié)點(diǎn)內(nèi)容為提示信息背景圖的圖片路徑 上述路徑均為相對(duì)于腳本文件集根路徑的路徑 |
| 按鈕元素?cái)?shù)組btns | 1~20 | 按鈕元素?cái)?shù)組中第一個(gè)元素為關(guān)閉按鈕 數(shù)組中其他按鈕為展示在界面上的人物按鈕,按鈕text節(jié)點(diǎn)內(nèi)容為展示在界面中的人物名稱,按鈕的backImgNormal節(jié)點(diǎn)內(nèi)容為展示在界面中的個(gè)人物頭像 除關(guān)閉按鈕外的其他按鈕將按定義順序在界面中從左到右依次排列 各按鈕元素中的text節(jié)點(diǎn)內(nèi)容為按鈕展示在界面上的名稱 text節(jié)點(diǎn)內(nèi)容最大長(zhǎng)度為4個(gè)中英文字符、數(shù)字 |
| 定制元素?cái)?shù)組ctrls | 1 | 定制元素?cái)?shù)組個(gè)數(shù)固定為1 類型節(jié)點(diǎn)controlType內(nèi)容固定為COUNTDOWN,即倒計(jì)時(shí)元素。 |
附錄
本附錄提供了兩個(gè)根據(jù)互動(dòng)視頻開放協(xié)議實(shí)現(xiàn)的示例,供內(nèi)容創(chuàng)作者、互動(dòng)視頻從業(yè)者等相關(guān)人員參考。
示例一
該示例包含了部分分支劇情互動(dòng)能力。
腳本文件目錄結(jié)構(gòu)

| 文件名稱 | 說(shuō)明 |
|---|---|
| index.json | 索引腳本文件 |
| interact001 | 交互區(qū)間interact001對(duì)應(yīng)的交互區(qū)間腳本文件所在文件夾 |
| interact002 | 交互區(qū)間interact002對(duì)應(yīng)的交互區(qū)間腳本文件所在文件夾 |
| res | 資源文件夾 |

| 文件名稱 | 說(shuō)明 |
|---|---|
| interact001-Para.json | 交互區(qū)間interact001對(duì)應(yīng)的交互區(qū)間腳本文件 |

| 文件名稱 | 說(shuō)明 |
|---|---|
| interact002-Para.json | 交互區(qū)間interact002對(duì)應(yīng)的交互區(qū)間腳本文件 |

| 文件名稱 | 說(shuō)明 |
|---|---|
| select.png | 按鈕元素選中前背景圖 |
| selected.png | 按鈕元素選中后背景圖 |
| bknotitle.png | 無(wú)標(biāo)題樣式背景圖 |
| bktitle.png | 有標(biāo)題樣式背景圖 |
劇情結(jié)構(gòu)示意圖

腳本注釋
索引腳本文件注釋:
{
"base": {
"filename": "videoA.mp4",
"fileVersion": "1.0.0",
"protocolVersion": "1.0",
"interactMode": "1"
},
"interactBlockList":[
{
"blockid": "interact001",
"inPlayBlockid": "play001",//交互區(qū)間出現(xiàn)在播放區(qū)間id為play001的視頻片段中
"startTime": "120",//交互區(qū)間開始時(shí)間為120s
"duration": "10",//交互區(qū)間展示時(shí)長(zhǎng)為10s
"des" : "是否去追滔滔",
"state": {
"playState": "play"
},
"preLoadList":[
{
"playerBlockid":"play002",
"preLoadTime":"0"
},
{
"playerBlockid": "play003",
"preLoadTime": "0"
}
],
"UIInfo": {
"UIid": "UI0001",//交互區(qū)間的組件使用了樣式UI0001
"paraFile": "interact001/interact001-Para.json",//交互區(qū)間使用的交互區(qū)間腳本文件的路徑
}
},
{
"blockid": "interact002",
"inPlayBlockid": "play002",//交互區(qū)間出現(xiàn)在播放區(qū)間id為play002的視頻片段中
"startTime": "240",//交互區(qū)間開始時(shí)間為240s
"duration": "10",//交互區(qū)間展示時(shí)長(zhǎng)為10s
"des": "是否喜歡禮物",
"state": {
"playState": "play"
},
"preLoadList":[
{
"playerBlockid":"play004",
"preLoadTime":"0"
},
{
"playerBlockid": "play005",
"preLoadTime": "0"
}
],
"UIInfo": {
"UIid": "UI0002",//交互區(qū)間的組件使用了樣式UI0002
"paraFile": "interact002/interact002-Para.json",//交互區(qū)間使用的交互區(qū)間腳本文件的路徑
}
}
],
"playBlockList":
[
{
"blockid": "play001",
"filename": "videoA.mp4",
"endAction": {}
},
{
"blockid": "play002",
"filename": "videoB.mp4",
"endAction": {}
},
{
"blockid": "play003",
"filename": "videoC.mp4",
"endAction": {}
},
{
"blockid": "play004",
"filename": "videoD.mp4",
"endAction" : {}
},
{
"blockid": "play005",
"filename": "videoE.mp4",
"endAction": {}
}
]
}
交互區(qū)間interact001互動(dòng)元素設(shè)置對(duì)照:

交互區(qū)間interact001腳本文件注釋:
{
"base": {
"interactid":"interact001",
"fileVersion":"1.0.0",
"protocolVersion":"1.0"
},
"metas":[
{
"id":"meta001",
"text":"是否去追滔滔"//元素1 標(biāo)題 內(nèi)容
}
],
"imgs":[
{
"id":"img001",
"url":"res/select.png"//元素4 按鈕選中前背景圖
},
{
"id":"img002",
"url":"res/selected.png"//元素5 按鈕選中后背景圖
},
{
"id":"img003",
"url":"res/bktitle.png"//元素6 背景圖
}
],
"btns":[
{
"id":"btn001",
"text":"追滔滔",//元素2 第一個(gè)按鈕 內(nèi)容
"des":"追滔滔",
"isDefaultSelect":"1",//默認(rèn)選中第一個(gè)按鈕
"statistics":{
"rseat":"btn001",
"block":"interact001"
},
"actionList":[
{
"actionName":"SWITCHVIDEO",//選擇按鈕后執(zhí)行切換視頻的操作
"actionPara":{
"insertToTime":"130",//在當(dāng)前視頻片段播放到130s時(shí)開始切換視頻
"nextPlayBlockid":"play002",//下一個(gè)視頻片段的播放區(qū)間id為play002
"nextPlayTime":"0"//下一個(gè)視頻從0s開始播放
}
},
{
"actionName":"REMOVE",//移除交互區(qū)間
"actionPara":{}
}
]
},{
"id":"btn002",
"text":"再想想",//元素3 第二個(gè)按鈕 內(nèi)容
"des":"再想想",
"statistics":{
"rseat":"btn002",
"block":"interact001"
},
"actionList":[
{
"actionName":"SWITCHVIDEO",//選擇按鈕后執(zhí)行切換視頻的操作
"actionPara":{
"insertToTime":"130",//在當(dāng)前視頻片段播放到130s時(shí)開始切換視頻
"nextPlayBlockid":"play003",//下一個(gè)視頻片段的播放區(qū)間id為play003
"nextPlayTime":"0"//下一個(gè)視頻從0s開始播放
}
},
{
"actionName":"REMOVE",//移除交互區(qū)間
"actionPara":{}
}
]
}
],
"ctrls":[
{
"id":"ctrl001",
"controlType":"COUNTDOWN",//定制元素類型為倒計(jì)時(shí)
"controlBackColor":"0xffffff",//倒計(jì)時(shí)元素的背景顏色
"totalTime":"10",//倒計(jì)時(shí)時(shí)長(zhǎng),與索引腳本文件中本交互區(qū)間的展示時(shí)長(zhǎng)相同
"statistics":{
"rseat":"ctrl001",
"block":"interact001"
},
"actionList":[]
}
],
"statistics":{
"rpage":"videoA.mp4",
"block":"interact001"
}
}
交互區(qū)間interact002中的互動(dòng)元素設(shè)置對(duì)照:

交互區(qū)間interact002腳本文件注釋:
{
"base": {
"interactid":"interact002",
"fileVersion":"1.0.0",
"protocolVersion":"1.0"
},
"metas":[],
"imgs":[
{
"id":"img001",
"url":"res/select.png"//元素3 按鈕選中前背景圖
},
{
"id":"img002",
"url":"res/selected.png"//元素4 按鈕選中前背景圖
},
{
"id":"img003",
"url":"res/bknotitle.png"//元素5 背景圖
}
],
"btns":[
{
"id":"btn001",
"text":"喜歡",//元素1 第一個(gè)按鈕 內(nèi)容
"des":"喜歡",
"isDefaultSelect":"1",//默認(rèn)選中第一個(gè)按鈕
"statistics":{
"rseat":"btn001",
"block":"interact002"
},
"actionList":[
{
"actionName":"SWITCHVIDEO",//選擇按鈕后執(zhí)行切換視頻的操作
"actionPara":{
"insertToTime":"250",//在當(dāng)前視頻片段播放到250s時(shí)開始切換視頻
"nextPlayBlockid":"play004",//下一個(gè)視頻片段的播放區(qū)間id為play004
"nextPlayTime":"0"//下一個(gè)視頻從0s開始播放
}
},
{
"actionName":"REMOVE",//移除交互區(qū)間
"actionPara":{}
}
]
},{
"id":"btn002",
"text":"不喜歡",//元素2 第二個(gè)按鈕 內(nèi)容
"des":"不喜歡",
"statistics":{
"rseat":"btn002",
"block":"interact002"
},
"actionList":[
{
"actionName":"SWITCHVIDEO",//選擇按鈕后執(zhí)行切換視頻的操作
"actionPara":{
"insertToTime":"250",//在當(dāng)前視頻片段播放到250s時(shí)開始切換視頻
"nextPlayBlockid":"play005",//下一個(gè)視頻片段的播放區(qū)間id為play005
"nextPlayTime":"0"//下一個(gè)視頻從0s開始播放
}
},
{
"actionName":"REMOVE",//移除交互區(qū)間
"actionPara":{}
}
]
}
],
"ctrls":[
{
"id":"ctrl001",
"controlType":"COUNTDOWN",
"controlBackColor":"0xffffff",
"totalTime":"10",
"statistics":{
"rseat":"ctrl001",
"block":"interact002"
},
"actionList":[]
}
],
"statistics":{
"rpage":"interact002",
"block":"videoA.mp4"
}
}
示例二
該示例包含了部分畫面信息探索互動(dòng)能力。
腳本文件目錄結(jié)構(gòu)

| 文件名稱 | 說(shuō)明 |
|---|---|
| index.json | 索引腳本文件 |
| interact001 | 交互區(qū)間interact001對(duì)應(yīng)的交互區(qū)間腳本文件及資源所在文件夾 |
| interact002 | 交互區(qū)間interact002對(duì)應(yīng)的交互區(qū)間腳本文件及資源所在文件夾 |

| 文件名稱 | 說(shuō)明 |
|---|---|
| interact001-Para.json | 交互區(qū)間interact001對(duì)應(yīng)的交互區(qū)間腳本文件 |
| close.png | 關(guān)閉按鈕背景圖 |
| logo.png | LOGO背景圖 |
| go.png | 右側(cè)按鈕背景圖 |
| ignore.png | 左側(cè)按鈕背景圖 |
| backimage.png | 組件背景圖 |
| bgtitle.png | 提示信息背景圖 |

| 文件名稱 | 說(shuō)明 |
|---|---|
| interact002-Para.json | 交互區(qū)間interact002對(duì)應(yīng)的交互區(qū)間腳本文件 |
| close.png | 關(guān)閉按鈕背景圖 |
| logo.png | LOGO背景圖 |
| bgtitle.png | 提示信息背景圖 |
| backimage.png | 組件背景圖 |
| default.png | 按鈕背景圖 |
劇情結(jié)構(gòu)示意圖

腳本注釋
索引腳本文件注釋:
{
"base": {
"filename": "videoS.mp4",
"fileVersion": "1.0.0",
"protocolVersion": "1.0",
"interactMode": "0"
},
"interactBlockList":
[
{
"blockid": "interact001",
"inPlayBlockid": "play001",//交互區(qū)間出現(xiàn)在播放區(qū)間id為play001的視頻片段中
"startTime": "100",//交互區(qū)間開始時(shí)間為100s
"duration": "10",//交互區(qū)間展示時(shí)長(zhǎng)為10s
"exeShowAnimation": "1",//執(zhí)行展示和消失動(dòng)畫
"des": "精彩內(nèi)容",
"state": {
"playState": "play"
},
"preLoadList":[
{
"playerBlockid":"play002",
"preLoadTime":"0"
}
],
"UIInfo": {
"UIid": "UI0003",//交互區(qū)間的組件使用了樣式UI0003
"paraFile": "interact001/interact001-Para.json",//交互區(qū)間使用的交互區(qū)間腳本文件的路徑
}
},
{
"blockid": "interact002",
"inPlayBlockid": "play001",//交互區(qū)間出現(xiàn)在播放區(qū)間id為play001的視頻片段中
"startTime": "200",//交互區(qū)間開始時(shí)間為200s
"duration": "10",//交互區(qū)間展示時(shí)長(zhǎng)為10s
"exeShowAnimation": "1",
"des": "精彩表演",
"state": {
"playState": "play"
},
"preLoadList":[
{
"playerBlockid": "play003",
"preLoadTime": "0"
},
{
"playerBlockid": "play004",
"preLoadTime": "0"
},
{
"playerBlockid": "play005",
"preLoadTime": "0"
}
],
"UIInfo": {
"UIid": "UI0004",//交互區(qū)間的組件使用了樣式UI0004
"paraFile": "interact002/interact002-Para.json",//交互區(qū)間使用的交互區(qū)間腳本文件的路徑
}
}
],
"playBlockList":
[
{
"blockid": "play001",
"filename": "videoS.mp4",
"endAction": {}
},
{
"blockid": "play002",
"filename": "videoT.mp4",
"endAction":{
"actionName": "SWITCHVIDEO",
"nextPlayBlockid": "play001",
"nextPlayTime": "110"
}
},
{
"blockid": "play003",
"filename": "videoU.mp4",
"endAction": {
"actionName": "SWITCHVIDEO",
"nextPlayBlockid": "play001",
"nextPlayTime": "210"
}
},
{
"blockid": "play004",
"filename": "videoV.mp4",
"endAction":{
"actionName": "SWITCHVIDEO",
"nextPlayBlockid": "play001",
"nextPlayTime": "210"
}
},
{
"blockid": "play005",
"filename": "videoW.mp4",
"endAction":{
"actionName": "SWITCHVIDEO",
"nextPlayBlockid": "play001",
"nextPlayTime": "210"
}
}
]
}
交互區(qū)間interact001互動(dòng)元素設(shè)置對(duì)照:

交互區(qū)間interact001腳本文件注釋:
{
"interactid":"interact001",
"version":"1.0.0",
"protocolVersion":"1.0",
"metas":[
{
"id":"meta001",
"text":"發(fā)現(xiàn)有你喜歡的精彩內(nèi)容"//元素1 提示
},
{
"id":"meta002",
"text":"solo秀翻全場(chǎng) 精彩等你來(lái)看"//元素2 標(biāo)題
}
],
"imgs":[
{
"id":"img001",
"url":"interact001/backimage.png"//元素7 組件背景圖
},
{
"id":"img002",
"url":"interact001/logo.png"//元素6 LOGO
},
{
"id":"img003",
"url":"interact001/bgtitle.png"//元素8 提示背景圖
}
],
"btns":[
{
"id":"btn001",
"text":"",
"des":"關(guān)閉",
"backImgNormal":"interact001/close.png",//元素3 關(guān)閉按鈕
"statistics":{
"rseat":"btn001",
"block":"interact001"
},
"actionList":[
{
"actionName":"REMOVE",//移除交互區(qū)間
"actionPara":{}
}
]
},
{
"id":"btn002",
"text":"忽略",//元素4 左側(cè)按鈕 內(nèi)容
"des":"忽略",
"backImgNormal":"interact001/ignore.png",//元素5 左側(cè)按鈕 背景圖
"statistics":{
"rseat":"btn002",
"block":"interact001"
},
"actionList":[
{
"actionName":"REMOVE",
"actionPara":{}
}
]
},{
"id":"btn003",
"text":"去看看",//元素5 右側(cè)按鈕 內(nèi)容
"des":"去看看",
"backImgNormal":"interact001/go.png",//元素5 右側(cè)按鈕 背景圖
"statistics":{
"rseat":"btn003",
"block":"interact001"
},
"actionList":[
{
"actionName":"SWITCHVIDEO",//按鈕點(diǎn)擊后執(zhí)行視頻片段切換操作
"actionPara":{
"insertToTime":"",//立即切換視頻
"nextPlayBlockid":"play002",//下一視頻片段的播放區(qū)間id為play002
"nextPlayTime":"0"//從下一視頻的0s開始播放
}
},
{
"actionName":"REMOVE",//移除交互區(qū)間
"actionPara":{}
}
]
}
],
"ctrls":[
{
"id":"ctrl001",
"controlType":"COUNTDOWN",//定制元素類型為倒計(jì)時(shí)類型
"controlBackColor":"0xffdb31",//倒計(jì)時(shí)元素的背景顏色
"totalTime":"10",//倒計(jì)時(shí)時(shí)長(zhǎng),與索引腳本文件中本交互區(qū)間的展示時(shí)長(zhǎng)相同
"statistics":{
"rseat":"ctrl001",
"block":"videoS.mp4"
},
"actionList":[
{
"actionName":"REMOVE",//如果用戶沒(méi)有進(jìn)行選擇,倒計(jì)時(shí)完成后移除交互區(qū)間
"actionPara":{}
}
]
}
],
"statistics":{
"rpage":"videoS.mp4",
"block":"interact001"
}
}
交互區(qū)間interact002互動(dòng)元素設(shè)置對(duì)照:

交互區(qū)間interact002腳本文件注釋:
{
"interactid":"interact002",
"version":"1.0.0",
"protocolVersion":"1.0",
"metas":[
{
"id":"meta001",
"text":"發(fā)現(xiàn)有你喜歡的精彩表演"//元素1 提示
}
],
"imgs":[
{
"id":"img001",
"url":"interact002/backimage.png"//元素7 背景圖
},
{
"id":"img002",
"url":"interact002/logo.png"//元素6 LOGO
},
{
"id":"img003",
"url":"interact002/bgtitle.png"//元素8 提示背景圖
}
],
"btns":[
{
"id":"btn001",
"text":"",
"des":"關(guān)閉",
"backImgNormal":"interact002/close.png",//元素2 關(guān)閉按鈕 背景圖
"statistics":{
"rseat":"btn001",
"block":"interact002"
},
"actionList":[
{
"actionName":"REMOVE",//按鈕點(diǎn)擊后移除交互區(qū)間
"actionPara":{}
}
]
},
{
"id":"btn002",
"text":"演員A",//元素3 演員A按鈕 內(nèi)容
"des":"演員A",
"backImgNormal":"interact002/default.png",//元素3 演員A按鈕 背景圖
"statistics":{
"rseat":"btn002",
"block":"interact002"
},
"actionList":[
{
"actionName":"SWITCHVIDEO",//按鈕點(diǎn)擊后執(zhí)行視頻片段切換操作
"actionPara":{
"insertToTime":"",//立即切換視頻
"nextPlayBlockid":"play003",//下一視頻片段的播放區(qū)間id為play003
"nextPlayTime":"0"//從下一視頻的0s開始播放
}
},
{
"actionName":"REMOVE",//移除交互區(qū)間
"actionPara":{}
}
]
},{
"id":"btn003",
"text":"演員B",//元素4 演員B按鈕 內(nèi)容
"des":"演員B",
"backImgNormal":"interact002/default.png",//元素3 演員B按鈕 背景圖
"statistics":{
"rseat":"btn003",
"block":"interact002"
},
"actionList":[
{
"actionName":"SWITCHVIDEO",//按鈕點(diǎn)擊后執(zhí)行視頻片段切換操作
"actionPara":{
"insertToTime":"",//立即切換視頻
"nextPlayBlockid":"play004",//下一視頻片段的播放區(qū)間id為play004
"nextPlayTime":"0"//從下一視頻的0s開始播放
}
},
{
"actionName":"REMOVE",//移除交互區(qū)間
"actionPara":{}
}
]
},{
"id":"btn004",
"text":"演員C",//元素5 演員C按鈕 內(nèi)容
"des":"演員C",
"backImgNormal":"interact002/default.png",//元素3 演員C按鈕 背景圖
"statistics":{
"rseat":"btn004",
"block":"interact002"
},
"actionList":[
{
"actionName":"SWITCHVIDEO",//按鈕點(diǎn)擊后執(zhí)行視頻片段切換操作
"actionPara":{
"insertToTime":"",//立即切換視頻
"nextPlayBlockid":"play005",//下一視頻片段的播放區(qū)間id為play005
"nextPlayTime":"0"//從下一視頻的0s開始播放
}
},
{
"actionName":"REMOVE",//移除交互區(qū)間
"actionPara":{}
}
]
}
],
"ctrls":[
{
"id":"ctrl001",
"controlType":"COUNTDOWN",//定制元素類型為倒計(jì)時(shí)
"controlBackColor":"0xffdb31",//倒計(jì)時(shí)元素的背景顏色
"totalTime":"10",//倒計(jì)時(shí)時(shí)長(zhǎng),與索引腳本文件中本交互區(qū)間的展示時(shí)長(zhǎng)相同
"statistics":{
"rseat":"ctrl001",
"block":"interact002"
},
"actionList":[
{
"actionName":"REMOVE",//如果用戶沒(méi)有進(jìn)行選擇,倒計(jì)時(shí)完成后移除交互區(qū)間
"actionPara":{}
}
]
}
],
"statistics":{
"rpage":"videoS.mp4",
"block":"interact002"
}
}