编辑节目
<p><strong>简要描述:</strong> </p>
<ul>
<li>编辑节目,此接口以图片为例</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>void nvSetPageParamAsync(const char *data, ExportViplexCallback callBack)</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>
<p><strong>请求参数示例</strong></p>
</li>
</ul>
<pre><code>{
"programID":1,
"pageID":1,
"pageInfo":{
"name":"节目01",
"widgetContainers":[
{
"audioGroup":"",
"backgroundColor":"#00000000",
"backgroundDrawable":"",
"contents":{
"widgetGroups":[
],
"widgets":[
{
"id":1,
"enable":true,
"repeatCount":1,
"layout":{
"y":"0",
"height":"100%",
"x":"0",
"width":"100%"
},
"backgroundColor":"#00000000",
"backgroundDrawable":"",
"backgroundMusic":"",
"zOrder":0,
"displayRatio":"FULL",
"outAnimation":{
"type":0,
"duration":0
},
"dataSource":"4ab22addfa68f0e1110571a3c4766f2b.jpg",
"type":"PICTURE",
"constraints":{
"cron":[
],
"endTime":"4017-12-30T23:59:59Z 8:00",
"startTime":"1970-01-01T00:00:00Z 8:00"
},
"border":{
"borderThickness":"2px,3px,5%,6",
"style":0,
"backgroundColor":"#ff000000",
"name":"border",
"cornerRadius":"2%",
"effects":{
"headTailSpacing":"",
"isHeadTail":false,
"speedByPixelEnable":true,
"speed":0,
"animation":"CLOCK_WISE"
}
},
"inAnimation":{
"type":0,
"duration":1000
},
"duration":3605000,
"name":"IMG_20200916_111857.jpg",
"originalDataSource":"/storage/emulated/0/DCIM/Camera/IMG_20200916_111857.jpg",
"functionStorage":"{\"index\":1,\"speed\":3.0,\"turn\":0,\"scroll\":0,\"random\":true,\"id\":\"1281444\",\"subtabId\":0}",
"isSupportSpecialEffects":false
}
]
},
"enable":true,
"id":1,
"itemsSource":"",
"layout":{
"height":"1.0",
"width":"1.0",
"x":"0.0",
"y":"0.0"
},
"name":"widgetContainers1",
"pickCount":0,
"pickPolicy":"ORDER",
"zOrder":0
}
]
}
}</code></pre>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">是否必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">programID</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">节目id(创建节目返回的id)</td>
<td>*</td>
</tr>
<tr>
<td style="text-align: left;">pageID</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>pageId(当前版本pageId为1)</td>
</tr>
<tr>
<td style="text-align: left;">pageInfo</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">Object</td>
<td>page的详细信息</td>
</tr>
<tr>
<td style="text-align: left;">name</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>名称</td>
</tr>
<tr>
<td style="text-align: left;">widgetContainers</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">objectArray</td>
<td>窗口挂件容器</td>
</tr>
<tr>
<td style="text-align: left;">id</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>id标识</td>
</tr>
<tr>
<td style="text-align: left;">audioGroup</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>音频组件,详细见音频组件页面,终端1.3.4版本支持,默认为空</td>
</tr>
<tr>
<td style="text-align: left;">backgroundColor</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>颜色值,标准格式四个字节从高到低以此是"ARGB",如#00ff0000(红色)</td>
</tr>
<tr>
<td style="text-align: left;">backgroundDrawable</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>背景图片资源,默认为空</td>
</tr>
<tr>
<td style="text-align: left;">contents</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">object</td>
<td>窗口挂件内容</td>
</tr>
<tr>
<td style="text-align: left;">widgetGroups</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">objectArray</td>
<td>窗口挂件组</td>
</tr>
<tr>
<td style="text-align: left;">enable</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">bool</td>
<td>是否有效,但为无效时,此窗口内部的媒体均不会播放</td>
</tr>
<tr>
<td style="text-align: left;">itemsSource</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>媒体列表</td>
</tr>
<tr>
<td style="text-align: left;">layout</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">object</td>
<td>布局</td>
</tr>
<tr>
<td style="text-align: left;">x</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>起始x(例如0.2568)</td>
</tr>
<tr>
<td style="text-align: left;">y</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>起始y(例如0.2568)</td>
</tr>
<tr>
<td style="text-align: left;">width</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>宽(例如0.5000)</td>
</tr>
<tr>
<td style="text-align: left;">height</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>高(例如0.5000)</td>
</tr>
<tr>
<td style="text-align: left;">name</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>widgetContainers的名称</td>
</tr>
<tr>
<td style="text-align: left;">pickCount</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>当pickPolicy的内容包含‘N’时,则有效,大于0才有意义</td>
</tr>
<tr>
<td style="text-align: left;">pickPolicy</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>ORDER:按照原始顺序播放;ORDER_N:按orderIDArray顺序播放;ORDER_ONE_ANOTHER_N:按orderIDArray顺序逐个取n个播放,本次已经取过的,下次不再取,n的具体值从pickCount上取;RANDOM_ORDER:随机排序播放。每次在播放的时候,现在场景进行随机排序,排序后;RANDOM_ORDER_N:随机排序,取n个有效场景播放。n的具体值从pickCount上取;RANDOM:真正的随机取,这个要靠运气了;RANDOM_N:真正的随机播放n个。n的具体值从pickCount上取</td>
</tr>
<tr>
<td style="text-align: left;">zOrder</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>z序列</td>
</tr>
<tr>
<td style="text-align: left;">widgets</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">objectArray</td>
<td>窗口挂件</td>
</tr>
<tr>
<td style="text-align: left;">id</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>唯一标识,在整个播放方案需要保持唯一</td>
</tr>
<tr>
<td style="text-align: left;">mid</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>媒体资源的唯一标识</td>
</tr>
<tr>
<td style="text-align: left;">name</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>名称</td>
</tr>
<tr>
<td style="text-align: left;">type</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>类型,PICTURE:表示是图片类型;VIDEO:表示视频类型;AUDIO:表示音频类型;GIF:表示是gif动画类型;HTML:表示是内嵌网页;PLUGIN_H5:表示html5离线组件类;RICH_TEXT:富文本;ARCH_TEXT:综合文本,这种文本所表现的文字特性非常丰富,属性种类繁多,具体格式定义见综合文本章节,沿用了之前的文本风格,带有历史原因,所以我们命名为ARCH_TEXT“疼”。但是其功能确实很强大;ANALOG_CLOCK:模拟时钟;DIGITAL_CLOCK:数字时钟;SIMPLE_RSS:简单RSS媒体;SIMPLE_WEATHER:简单天气预报,只包含当前的天气情况,不支持图片形式,文字只能统一修改属性;BORDER:边框,表示媒体类型为边框;STREAM_VIDEO:表示本地实现的流媒体;PICTURE_GROUP:图片组挂件,主要播放一组图片组</td>
</tr>
<tr>
<td style="text-align: left;">duration</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">long</td>
<td>播放时长,单位为毫秒,播放时长,表示媒体播放一次的时间,当为-1表示按照媒体的实际时间,如走马灯在不同大小的显示屏上,播放一次的时间是不一样的</td>
</tr>
<tr>
<td style="text-align: left;">repeatCount</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>播放次数,如果为-1表示无限次</td>
</tr>
<tr>
<td style="text-align: left;">layout</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">object</td>
<td>布局</td>
</tr>
<tr>
<td style="text-align: left;">x</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>无</td>
</tr>
<tr>
<td style="text-align: left;">y</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>无</td>
</tr>
<tr>
<td style="text-align: left;">width</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>无</td>
</tr>
<tr>
<td style="text-align: left;">height</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>无</td>
</tr>
<tr>
<td style="text-align: left;">displayRatio</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>显示的比例类型,当layout有效时,则layout优先,否则使用此字段,FULL:铺满全屏;ORIGINAL_SIZE:原始比例尺寸,从左上角开始显示,原始媒体多大,则显示多大;ORIGINAL_RATIO:原始比例,比例显示,与16:9,4:3类似;R16_9:16:9;R4_3:4:3;CUSTOM:自定义,当填写这个时,layout必须有效</td>
</tr>
<tr>
<td style="text-align: left;">inAnimation</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">object</td>
<td>入场动画</td>
</tr>
<tr>
<td style="text-align: left;">type</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>动画类型</td>
</tr>
<tr>
<td style="text-align: left;">duration</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">long</td>
<td>动画持续时间,单位为毫秒。当type为无特效时,此自动无意义</td>
</tr>
<tr>
<td style="text-align: left;">outAnimation</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">object</td>
<td>出场动画</td>
</tr>
<tr>
<td style="text-align: left;">dataSource</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>数据源唯一标识,可以是url,也可以是下载的数据文件(md5.png)</td>
</tr>
<tr>
<td style="text-align: left;">originalDataSource</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>数据源,原平台的媒体路径</td>
</tr>
<tr>
<td style="text-align: left;">backgroundMusic</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>背景音乐,一般描述背景音乐的路径或者url</td>
</tr>
<tr>
<td style="text-align: left;">backgroundColor</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">String</td>
<td>颜色值,标准格式四个字节从高到低以此是"ARGB",如#00ff0000(红色)</td>
</tr>
<tr>
<td style="text-align: left;">backgroundDrawable</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>url,背景图片的路径。可以来自网络或者本地。背景颜色与背景图片不能同时起效,同时存在时,背景图片优先</td>
</tr>
<tr>
<td style="text-align: left;">zOrder</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>z序列</td>
</tr>
<tr>
<td style="text-align: left;">constraints</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">object</td>
<td>媒体上的播放条件约束,对于媒体的播放有效性约束,暂时支持到一个时间有效范围即可</td>
</tr>
<tr>
<td style="text-align: left;">startTime</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>开始时间</td>
</tr>
<tr>
<td style="text-align: left;">endTime</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>结束时间</td>
</tr>
<tr>
<td style="text-align: left;">cron</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">stringArray</td>
<td>cron表达式</td>
</tr>
<tr>
<td style="text-align: left;">border</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">object</td>
<td>边框</td>
</tr>
<tr>
<td style="text-align: left;">borderThickness</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">string</td>
<td>边框宽度单位与layout类似,目前支持像素和百分比</td>
</tr>
<tr>
<td style="text-align: left;">style</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">int</td>
<td>样式</td>
</tr>
<tr>
<td style="text-align: left;">backgroundColor</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">string</td>
<td>颜色值,标准格式,四个字节从高到低以此是"ARGB",如#00ff0000(红色)</td>
</tr>
<tr>
<td style="text-align: left;">name</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">string</td>
<td>名称</td>
</tr>
<tr>
<td style="text-align: left;">cornerRadius</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">string</td>
<td>边框的角半径</td>
</tr>
<tr>
<td style="text-align: left;">effects</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">object</td>
<td>特效动画</td>
</tr>
<tr>
<td style="text-align: left;">speed</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">float</td>
<td>速度表示</td>
</tr>
<tr>
<td style="text-align: left;">animation</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">string</td>
<td>动画类型(CLOCK_WISE:顺时针旋转,ANTI_CLOCK_WISE:逆时针旋转)</td>
</tr>
<tr>
<td style="text-align: left;">isHeadTail</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">boolean</td>
<td>是否开启首尾相接</td>
</tr>
<tr>
<td style="text-align: left;">headTailSpacing</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">string</td>
<td>首尾相接字间距,单位像素或者(屏幕百分比%)</td>
</tr>
<tr>
<td style="text-align: left;">speedByPixelEnable</td>
<td style="text-align: left;">非必选</td>
<td style="text-align: left;">boolean</td>
<td>如果为true则是像素每秒,false为档位</td>
</tr>
<tr>
<td style="text-align: left;">functionStorage</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>默认为空</td>
</tr>
<tr>
<td style="text-align: left;">isSupportSpecialEffects</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>是否支持播放特效</td>
</tr>
</tbody>
</table>
<p><strong>返回示例</strong></p>
<pre><code>"success"</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码:<code>0</code>获取成功<code>65535</code>请求超时<code>65285</code>编辑page失败</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">string</td>
<td>返回值错误码对应的详细信息</td>
</tr>
</tbody>
</table>
<p><strong>备注</strong> </p>
<ul>
<li>
</li>
</ul>