创建画面或笔记
1.接口描述
接口说明:创建含指定源的画面或笔记,创建笔记画面功能暂不对外开放)。
请求方式:
- 固件版本 V2.6.0 及以上:POST [ip]/mwapi/V2.0/scene/create-scene-with-source
- 固件版本 V2.5.0 及以下:POST [ip]/mwapi/create-scene-with-source
| 管理员权限 | 登录认证 | 
|---|---|
| 否 | 是 | 
2.输入参数
| 参数名称 | 必选 | 类型 | 描述 | 
|---|---|---|---|
| sourceId | 是 | Int | 资源ID,可通过获取资源列表获得 | 
| sceneName | 否 | String | 画面名称,非必要参数,仅对画面生效 | 
| type | 否 | int | 画面类型,0: 画面(默认) 4:笔记 | 
3.输出参数
| 参数名称 | 类型 | 描述 | 
|---|---|---|
| status | Int | 状态码 | 
| message | String | 状态描述 | 
| info | InfoData | 画面信息 | 
说明:如无特殊说明,以下参数的值为 0 时,一般表示无此类资源。
InfoData
| 参数名称 | 类型 | 描述 | 
|---|---|---|
| audioList | AudioListData | 图层音频配置信息 | 
| bglayer | LayerData | 图层信息 | 
| dividerLine | DividerLineData | 分割线属性 | 
| id | Int | 画面ID | 
| layerList | LayerData | 图层数组 | 
| name | String | 画面名称 | 
| sceneGfxInfo | Int | 画面叠加的 GFX 信息,下级参数sceneGfxId 为叠加到画面的 GFX 的 ID | 
| template | Int | 画面组合模式 0:画中画; 1:分屏画面; 2:单图层画面 | 
| type | Int | 画面类型 4:笔记; 其它数字:画面 | 
AudioListData
| 参数名称 | 类型 | 描述 | 
|---|---|---|
| layerId | Int | 图层ID,图层在图层数组中的位置 | 
| muted | Int | 是否为静音状态 0:否; 1:是 | 
| type | Int | 音频类型, 0x0100:HDMI 1; 0x0200:视频; 0x0300:HDMI 2; 0x0400:USB Camera; 0x0500:图片; 0x0700:网页 | 
| volume | Int | 音量,0~1000000 | 
LayerData
| 参数名称 | 类型 | 描述 | 
|---|---|---|
| alpha | Int | 图层的不透明度 | 
| cropWindow | WindowData | 裁剪窗口属性 | 
| fixed | Int | 是否为 GFX 模版图层 0:否;1:是 | 
| flip | Int | 翻转属性 0:不翻转 1:左右翻转 2:上下翻转 3:左右翻转+上下翻转 | 
| frame | FrameData | 边框属性 | 
| givenBg | Int | 是否为用户上传的的笔记背景图 1:是; 0:否 | 
| mediaProgress | Int | 源播放进度,仅针对VIDEO类型 | 
| pdfPosition | Int | PDF位置信息,(页码-1)*100 | 
| pdfScaleMode | Int | PDF缩放模式 0:自由 1:维持页面原比例 2:内容适合屏幕 3:宽度适合屏幕 | 
| pdfScaleValue | Int | PDF缩放属性,1~5*10000 | 
| rotation | Int | 旋转角度,逆时针方向,范围[0~360] | 
| scaleX | Int | X轴缩放比例, 0~1000000 | 
| scaleY | Int | Y轴缩放比例, 0~1000000 | 
| sourceColor | Int | 纯色图层的色值,uint32(gbra) | 
| sourceDuration | Int | 源视频长度 | 
| sourceHeight | Int | 源画面高度 | 
| sourceId | Int | 资源ID,资源在设备中的唯一身份标识。 | 
| sourceThumbHeight | Int | 源缩图高度 | 
| sourceThumbWidth | Int | 源缩图宽度 | 
| sourceTotalPageNumber | Int | PDF文件页数 | 
| sourceType | Int | 源类型 1:图片; 2:视频; 3:HDMI 1;4:HDMI 2; 5:USB-Camera; 6:音频; 7:背景图片 | 
| sourceWidth | Int | 源画面宽度 | 
| srcWindow | WindowData | 内容窗口属性 | 
| url | String | 网页地址 | 
| videoPolicy | Int | 视频结束策略 0:显示最后一帧 1:重复播放 2:切换到画面X 3:显示第一帧 4:显示黑屏 5:隐藏图层 | 
| videoPolicyIn | Int | 视频开始策略 0:自动播放;1:手动播放 | 
| videoPolicyNextScene | Int | 视频结束策略为切换到画面X时,指向的跳转画面ID | 
| videoPolicyOut | Int | 视频播放结束之前切出画面又切回,视频将如何继续 0:保持离开时的进度 1:从头播放 | 
| videoRangeEnd | Int | 视频切割起点位置,ms | 
| videoRangeStart | Int | 视频切割终点位置,ms | 
| webScaleValue | Int | 网页缩放属性,1~5*10000 | 
| window | WindowData | 窗口属性 | 
WindowData
| 参数名称 | 类型 | 描述 | 
|---|---|---|
| x | Int | X 轴位置,相对值 (0~1)*1000,000 | 
| y | Int | Y 轴位置,相对值 (0~1)*1000,000 | 
| width | Int | 窗口宽度 | 
| height | Int | 窗口高度 | 
| type | Int | 裁剪类型 0:自由比例 1:原始比例 2:4比3 3:16比9 4:1比1 | 
FrameData
| 参数名称 | 类型 | 描述 | 
|---|---|---|
| color | Int | 边框颜色,uint32(gbra) | 
| width | Int | 边框宽度,px | 
DividerLineData
| 参数名称 | 类型 | 描述 | 
|---|---|---|
| color | Int | 分割线颜色,uint32(gbra) | 
| x1 | Int | 分割线顶点X轴位置,相对值 (0~1)*1000,000 | 
| y1 | Int | 分割线顶点Y轴位置,相对值 (0~1)*1000,000 | 
| x2 | Int | 分割线结束点X轴位置,相对值 (0~1)*1000,000 | 
| y2 | Int | 分割线结束点Y轴位置,相对值 (0~1)*1000,000 | 
4.示例
将ID为5的文件添加为画面,并命名为New Scene。
输入示例
{
    "sourceId": 5,
    "sceneName": "New Scene"
}
输出示例
{
    "info": {
        "audioList": [
            {
                "layerId": 0,
                "muted": 0,
                "volume": 1000000
            }
        ],
        "bgLayer": {
            "alpha": 1000000,
            "cropWindow": {
                "height": 1000000,
                "type": 0,
                "width": 1000000,
                "x": 0,
                "y": 0
            },
            "fixed": 0,
            "flip": 0,
            "frame": {
                "color": 0,
                "width": 0
            },
            "givenBg": 0,
            "mediaProgress": 0,
            "pdfPosition": 0,
            "pdfScaleMode": 3,
            "pdfScaleValue": 10000,
            "rotation": 0,
            "scaleX": 1000000,
            "scaleY": 1000000,
            "sourceColor": 255,
            "sourceDuration": 0,
            "sourceHeight": 0,
            "sourceId": 0,
            "sourceThumbHeight": 0,
            "sourceThumbWidth": 0,
            "sourceTotalPageNumber": 0,
            "sourceType": 12,
            "sourceWidth": 0,
            "srcWindow": {
                "height": 1000000,
                "width": 1000000,
                "x": 0,
                "y": 0
            },
            "videoPolicy": 0,
            "videoPolicyIn": 0,
            "videoPolicyNextScene": 0,
            "videoPolicyOut": 0,
            "videoRangeEnd": 0,
            "videoRangeStart": 0,
            "webScaleValue": 10000,
            "window": {
                "height": 1000000,
                "width": 1000000,
                "x": 0,
                "y": 0
            }
        },
        "dividerLine": {
            "color": 0,
            "width": 0,
            "x1": 500000,
            "x2": 500000,
            "y1": 0,
            "y2": 1000000
        },
        "id": 100,
        "layerList": [
            {
                "alpha": 1000000,
                "cropWindow": {
                    "height": 1000000,
                    "type": 1,
                    "width": 1000000,
                    "x": 0,
                    "y": 0
                },
                "fixed": 0,
                "flip": 0,
                "frame": {
                    "color": 16777215,
                    "width": 0
                },
                "givenBg": 0,
                "mediaProgress": 0,
                "pdfPosition": 0,
                "pdfScaleMode": 3,
                "pdfScaleValue": 10000,
                "rotation": 360,
                "scaleX": 1000000,
                "scaleY": 1000000,
                "sourceColor": 255,
                "sourceDuration": 0,
                "sourceHeight": 3840,
                "sourceId": 5,
                "sourceThumbHeight": 170,
                "sourceThumbWidth": 256,
                "sourceTotalPageNumber": 0,
                "sourceType": 1,
                "sourceWidth": 5760,
                "srcWindow": {
                    "height": 1000000,
                    "width": 843750,
                    "x": 78125,
                    "y": 0
                },
                "url": "",
                "videoPolicy": 0,
                "videoPolicyIn": 0,
                "videoPolicyNextScene": 0,
                "videoPolicyOut": 0,
                "videoRangeEnd": 0,
                "videoRangeStart": 0,
                "webScaleValue": 10000,
                "window": {
                    "height": 1000000,
                    "width": 1000000,
                    "x": 0,
                    "y": 0
                }
            },
            {
                "alpha": 1000000,
                "cropWindow": {
                    "height": 1000000,
                    "type": 0,
                    "width": 1000000,
                    "x": 0,
                    "y": 0
                },
                "fixed": 0,
                "flip": 0,
                "frame": {
                    "color": 0,
                    "width": 0
                },
                "givenBg": 0,
                "mediaProgress": 0,
                "pdfPosition": 0,
                "pdfScaleMode": 3,
                "pdfScaleValue": 10000,
                "rotation": 0,
                "scaleX": 1000000,
                "scaleY": 1000000,
                "sourceColor": 255,
                "sourceDuration": 0,
                "sourceHeight": 0,
                "sourceId": 0,
                "sourceThumbHeight": 0,
                "sourceThumbWidth": 0,
                "sourceTotalPageNumber": 0,
                "sourceType": 0,
                "sourceWidth": 0,
                "srcWindow": {
                    "height": 1000000,
                    "width": 1000000,
                    "x": 0,
                    "y": 0
                },
                "videoPolicy": 0,
                "videoPolicyIn": 0,
                "videoPolicyNextScene": 0,
                "videoPolicyOut": 0,
                "videoRangeEnd": 0,
                "videoRangeStart": 0,
                "webScaleValue": 10000,
                "window": {
                    "height": 0,
                    "width": 0,
                    "x": 0,
                    "y": 0
                }
            }
        ],
        "name": "New Scene",
        "sceneGfxInfo": {
            "sceneGfxId": 0
        },
        "template": 2,
        "type": 3
    },
    "message": "success",
    "status": 0
}
5.错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
| 错误码 | 定义 | 说明 | 
|---|---|---|
| 5 | RESULT_CODE_SYSTEM_ERROR | 资源不存在或系统错误 | 
| 7 | MW_STATUS_INVALID_ARG | 参数缺失 | 
| 11 | MW_STATUS_DEVICE_BUSY | 画面编辑中,禁止操作 |