视频控件(M系列)How to use?

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

视频控件(M系列)How to use?缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 什么是视频控件?
  2. 2. 18.1 视频控件属性介绍
  3. 3. 18.2 播放屏内视频文件
  4. 4. 18.3 播放SD卡中的视频
  5. 5. 18.4 LUA API介绍

什么是视频控件?

视频控件(M系列)How to use?插图

我司视频AV控件有两种Function,分别为播放视频文件以及AV输入。视频控件播放视频Function常用于开机创意效果,或者播放产品的Operation指南、公共场合的广告示意等

本章节主要介绍以下3点

  1. 播放屏内的视频
  2. 播放SD卡的视频
  3. LUA API介绍

适用范围:M系列

视频format:

  • MP4文件
  • H264Coding
  • 音频流为MP3或AACformat
  • 视频最大分辨率<1280*768
  • 最大帧数<30ps
  • 最大码率<1400

Related例程Download链接:

视频的转换Operation流程可参考此Tutorial:视频文件转换说明

18.1 视频控件属性介绍

视频控件属性介绍,如下图所示

视频控件(M系列)How to use?插图1

用途

播放视频以及AV输入,AV输入需要应用的硬件型号支持

视频文件

load到控件的视频命名为字母(a-z)、数字(0-9)和下划线(_)组合,不支持其他字符

音频流

Enable和禁止,禁止后播放视频没有声音

自动播放

“是”或“否”,当选择是,Switch到该页面就自动播放视频文件

播放End时

视频播放End时,执行的动作。可以选择”不处理“、“send通知”以及“Switch到Next page”

视频控件(M系列)How to use?插图2

重复次数

重复播放的次数,0表示不断重复

18.2 播放屏内视频文件

【播放屏内视频文件】画面,介绍Related播放指令

画面配置

在【播放屏内视频文件】画面的“背景图片”导入相应的美工图片画面中添加1个视频控件(控件ID:1)和3个button控件用于设置视频播放状态,如下所示

视频控件(M系列)How to use?插图3

属性配置

视频AV控件

设置视频控件用途为“播放视频”,添加视频文件,“音频流”为Enable,“自动播放”为是,“播放End时”为send通知,“重复次数”为0,如下所示

视频控件(M系列)How to use?插图1
button控件ID2-播放

添加button控件ID2“按下时的图片”,并且勾选裁剪;由于Switch到该画面就自动播放视频,所以设置button控件ID2的初始状态为“按下”;buttonOperation风格为“置位”,如下所示

视频控件(M系列)How to use?插图4

设置“播放button”、“暂停/恢复button”以及“停止button”为互斥,Operation如下所示

视频控件(M系列)How to use?插图5

在指令Assistant界面,左侧导航栏选择【视频AV控件】,设置画面ID0中的控件ID2播放循环视频,填写在对应button的指令Assistant中,如下所示

视频控件(M系列)How to use?插图6

如上所示:指令format为EE B1 70 00 00 00 01 00 FF FC FF FF。该指令主要用于控制视频播放控件的播放,可以设置相应的视频播放Number of cycles,让视频按照相应的设置进行播放。(注:视频播放控件必须先设置视频路径,如控件Loaded视频文件,只需要send播放视频指令。反正,需要先send设置播放视频的路径,在send播放指令)

帧头Configuration指令function code-视频播放画面ID控件ID播放次数帧尾
EEB17000 0000 0100FF FC FF FF
button控件ID3-暂停/恢复

button控件ID3的属性配置和button控件ID2配置类似,设置button控件ID3的初始状态为“弹起”,填写在对应button的指令Assistant中,如下所示

视频控件(M系列)How to use?插图7

如上所示:指令format为EE B1 72 00 00 00 01 FF FC FF FF。该指令主要用于控制视频“暂停/恢复”。指令含义如下所示

帧头Configuration指令function code-视频暂停/恢复画面ID控件ID帧尾
EEB17200 0000 01FF FC FF FF
button控件ID4-停止

button控件ID4的属性配置和button控件ID2配置类似,设置button控件ID4的初始状态为“弹起”,填写在对应button的指令Assistant中,如下所示

视频控件(M系列)How to use?插图8

如上所示:指令format为EE B1 71 00 00 00 01 FF FC FF FF。该指令主要用于控制视频“停止”。指令含义如下所示

帧头Configuration指令function code-视频停止画面ID控件ID帧尾
EEB17100 0000 01FF FC FF FF

18.3 播放SD卡中的视频

播放外部SD卡的视频步骤和播放屏内部视频步骤基本相同,不同的是播放外部SD中视频需要先send指令设置视频路径,Operation过程如下:

  1. 工程画面添加视频播放控件(参照18.2章节)
  2. 对内指令设置视频路径
  3. send指令控制视频播放、暂停/恢复、停止(参照18.2章节)

对内指令设置视频路径

设置播放SD卡视频format,如播放SD卡的0001.mp4文件,其中SD的盘符为1:/,路径即是‘1:/0001.mp4’。如下所示: B1 74 00 00 00 01 31 3A 2F 30 30 30 31 2E 6D 70 34 FF FC FF FF。该指令主要用于控制视频“停止”。指令含义如下所示

帧头Configuration指令function code-设置视频播放路径画面ID控件ID路径(1:/0001.mp4)帧尾
EEB17400 0000 0131 3A 2F 30 30 30 31 2E 6D 70 34FF FC FF FF

18.4 LUA API介绍

play_video(file,left,top,width,height)

播放视频:M系列,api部分不需要借助控件播放,属于“画布”播放视频

  • file:文件路径
  • left:start坐标x
  • top:start坐标y
  • width:视频显示的宽度
  • height:视频显示的高度
播放屏内视频

如播放屏内根目录下的”test.mp4”视频,屏内盘符为“3:/“,如下所示

--用户通过触摸修改控件后,执行此回调函数
--点击button控件,修改Text控件、修改滑动条都会触发此事件
function on_control_notify(screen,control,value)
    if screen == sc_main2
    then
        if control == 7 and value == 0
        then
            play_video('3:/test.mp4', 0, 0, 480, 272)
        end
    end
end
-- system回调函数,插入SD卡自动回调
function on_sd_inserted(dir)
    sd_dir = dir  
end
播放SD卡视频

如播放SD根目录下的”test.mp4”视频,SD盘符为“1:/“,但是建议创建全局变量,在SD卡触发回调中获取盘符,如下所示

local sd_dir = ''
--用户通过触摸修改控件后,执行此回调函数
--点击button控件,修改Text控件、修改滑动条都会触发此事件
function on_control_notify(screen,control,value)
    if screen == sc_main2
    then
        if control == 2 and value == 0
        then
            play_video(sd_dir..'/'..'test.mp4', 0, 0, 480, 272)
        end
    end
end

More关于LUAScript的文件的遍历、视频控制、循环播放等,可参考《播放SD卡视频文件》(点击跳转)

stop_video()

停止视频播放

on_video_notify(msg,v1, v2)

视频播放回调函数

  • msg:1-播放中,0-播放完毕
  • v1:当前播放进度,当前已播时长,单位s
  • v2:播放总进度, 当前视频总时长,单位s

通过progress bar显示播放进度、以及Text控件显示播放时长Code Example如下所示,完整代码参考《播放SD卡视频文件》(点击跳转)

function on_video_notify(msg,v1,v2)
    local token_time = ':'
    if msg == 1
    then
        local v1_h = string.format("%02d", math.modf(v1/60/60))
        local v1_m = string.format("%02d", math.modf((v1/60) % 60))
        local v1_s = string.format("%02d", math.modf(v1%60))
        local show_v1 = v1_h..token_time..v1_m..token_time..v1_s

        local v2_h = string.format("%02d", math.modf(v2/60/60))
        local v2_m = string.format("%02d",  math.modf((v2/60) % 60))
        local v2_s = string.format("%02d", math.modf(v2%60))
        local show_v2 = v2_h..token_time..v2_m..token_time..v2_s
        set_value(sc_video, 26, (v1/v2)*1000)
        set_text(sc_video, 27, show_v1)
       set_text(sc_video, 28, show_v2)

    elseif msg == 0
    then 
        paly_video_index = paly_video_index + 1
        if paly_video_index > video_cnt
        then
            paly_video_index = 1
        end

        local cur_play_page = math.modf(paly_video_index / 5)
        if paly_video_index % 5 > 0
        then
            cur_play_page = cur_play_page + 1
        end

        if cur_play_page == get_value(sc_video, 17)
        then
            my_set_video_playstate(paly_video_index)
        else
            my_set_video_playstate(0)
        end
        play_video(video_Tb[paly_video_index], video_x, video_y, video_w, video_h)
        my_setvisable_video_progress(1)
    end
end
Technology术语(共 1 个)—— 点击展开
function codeModbusfunction code指定读/写OperationType,如01读线圈、03读保持register
来源/Tools信息 —— 点击展开
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category Basic Control Document / 触控屏开发Document 字数 3715 字 · 阅读约 10 分钟 更新 2026-07-01 永久链接 https://www.modbus.cn/7133.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus DebuggingTools,支持 Modbus RTU/TCP 实时Communicationdebug、register读写、线圈控制、data监控和message分析。 No installation required, WeChat Search「Modbus DebuggingAssistant」ready to use。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Related Tags
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.