新建 GFX
1.接口描述
接口说明:新建 GFX。
请求方式:
- 固件版本 V2.6.0 及以上:POST [ip]/mwapi/V2.0/gfx/create-gfx
- 固件版本 V2.5.0 及以下:POST [ip]/mwapi/create-osd
管理员权限 | 登录认证 |
---|---|
否 | 是 |
2.输入参数
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
fileName | 是 | String | 文件名称 |
md5 | 是 | String | 文件MD5值 |
sourceType | 是 | Int | 资源类型 10:GFX 资源 |
x | 是 | Int | 内容窗口X轴位置,相对值 (0~1)*1000,000 |
y | 是 | Int | 内容窗口Y轴位置,相对值 (0~1)*1000,000 |
scaleX | 是 | Int | X轴缩放比例, 相对值 (0~1)*1000,000 |
scaleY | 是 | Int | Y轴缩放比例, 相对值 (0~1)*1000,000 |
width | 是 | Int | 内容窗口宽度,相对值 (0~1)*1000,000 |
height | 是 | Int | 内容窗口高度,相对值 (0~1)*1000,000 |
alpha | 是 | Int | 不透明度,相对值 (0~1)*1000,000 |
secondaryType | 是 | Int | GFX类型 4:图片;5:文字 |
text | 否 | String | 文本内容,文字 GFX 时,必要参数 |
fontFamily | 否 | Int | 字体,文字 GFX 时,必要参数 |
textColor | 否 | Int | 文本颜色,文字 GFX 时,必要参数 |
strokeColor | 否 | Int | 文字描边颜色,文字 GFX 时,必要参数 |
strokeWidth | 否 | Int | 文字描边线宽,文字 GFX 时,必要参数 |
fontSize | 否 | Int | 字体大小,文字 GFX 时,必要参数 |
glyph | 否 | Int | 文本形状,文字 GFX 时,必要参数 二进制标记,1:启用;0:不启用 斜体:第1位(0x1LL << 1) 下划线:第2位(0x1LL << 2) 粗体:第3位(0x1LL << 3) |
textAlignment | 否 | Int | 文本对齐方式,文字 GFX 时,必要参数 0:左对齐;1:居中对齐;2:右对齐 |
fixed | 是 | Int | 是否为 GFX 模版图层 0:否;1:是 |
3.输出参数
参数名称 | 类型 | 描述 |
---|---|---|
status | Int | 状态码 |
message | String | 状态描述 |
info | InfoData | GFX 信息 |
InfoData
参数名称 | 类型 | 描述 |
---|---|---|
audioList | AudioListData | 图层音频配置信息 |
bglayer | LayerData | 图层信息 |
dividerLine | DividerLineData | 分割线属性 |
id | Int | GFX 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 | 预留参数 |
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 | 网页地址 | |
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.示例
新增一个图片和文字组合的GFX。
输入示例
{
"layerList":[
{
"fileName":"image.png",
"md5":"01b0f9f65ac74dafa1efd6804e69d743",
"sourceType":10,
"x":70313,
"y":186111,
"scaleX":1030000,
"scaleY":1030000,
"width":303646,
"height":795370,
"alpha":1000000,
"secondaryType":4,
"text":"",
"fontFamily":"sans-serif",
"textColor":0,
"strokeColor":0,
"strokeWidth":0,
"fontSize":14,
"glyph":0,
"textAlignment":0,
"fixed":0
},
{
"fileName":"20230113095607876",
"md5":"3f050a3c836cd50f16cbfbcd50d12551",
"sourceType":10,
"x":371875,
"y":856481,
"scaleX":1000000,
"scaleY":1000000,
"width":269271,
"height":77778,
"alpha":1000000,
"secondaryType":5,
"text":"Input text here",
"fontFamily":"sans-serif",
"textColor":0,
"strokeColor":0,
"strokeWidth":0,
"fontSize":26,
"glyph":14,
"textAlignment":0,
"fixed":0
}
]
}
输出示例
{
"info":{
"audioList":[
],
"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":108,
"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":1030000,
"scaleY":1030000,
"sourceColor":255,
"sourceDuration":0,
"sourceHeight":292,
"sourceId":2029,
"sourceThumbHeight":377,
"sourceThumbWidth":256,
"sourceTotalPageNumber":0,
"sourceType":10,
"sourceWidth":198,
"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":795370,
"width":303646,
"x":348438,
"y":100926
}
},
{
"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":85,
"sourceId":2033,
"sourceThumbHeight":46,
"sourceThumbWidth":256,
"sourceTotalPageNumber":0,
"sourceType":10,
"sourceWidth":472,
"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":77778,
"width":232292,
"x":630729,
"y":811111
}
}
],
"name":"",
"template":2,
"type":5
},
"message":"success",
"status":0
}
5.错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 定义 | 说明 |
---|---|---|
7 | MW_STATUS_INVALID_ARG | 参数缺失 |
39 | MW_STATUS_MISMATCH | 资源不存在 |