VisualHMI 视频播放:play_video/on_video_notify 与格式要求

免费免费技术资料

这篇内容可直接阅读,适合用于基础学习和搜索引流。

嵌入式视频播放:MP4(H.264 + MP3/AAC),在指定屏幕区域播放。适合操作引导、产品演示、开机动画。

1. 视频格式要求

项目 要求
格式 MP4(.mp4)
视频编码 H.264
音频编码 MP3 或 AAC
最大分辨率 1280×768(超过会卡顿或无法播放)
最大帧率 30 fps
最大码率 1400 kbps

VisualHMI 视频播放:play_video/on_video_notify 与格式要求插图

2. API

函数 说明
play_video(file, left, top, width, height) 在指定区域播放视频(绝对路径)
pause_video() 暂停
resume_video() 从暂停位置继续
stop_video() 停止并释放解码资源、清除画面
on_video_notify(msg, v1, v2) 播放状态回调

3. 播放器控件地址表

Address 用途
LW1001 上一首/下一首(LW1005=0 不允许点击)
LW1002 0-暂停 / 1-继续播放
LW1003 / LW1004 当前页 / 总页数
LW1005 1-SD 根目录有视频
LW1100~LW1200 视频名称(128 字节)
LW1240 / LW1250 播放当前时间 / 总时间
LW1006 播放进度条

4. 案例:受控播放 + 进度条

function on_update(slave, vtype, addr)
  if vtype == VT_LW then
    if addr == 0x1002 then
      local sw = get_uint16(VT_LW, 0x1002)
      if sw == 1 then
        play_video("1:/video/demo.mp4", 0, 0, 800, 480)
      else
        pause_video()
      end
    end
  end
end

function on_video_notify(msg, v1, v2)
  -- msg: 播放状态(如 2=结束), v1/v2: 进度/总时长
  if msg == 2 then
    stop_video()
    set_uint16(VT_LW, 0x1002, 0)  -- 复位播放键
  end
end
视频编码是播放成败的关键:转码工具建议用 Freemake Video Converter,输出 H.264 + MP3/AAC、分辨率 ≤1280×768、码率 ≤1400kbps——格式不对不是黑屏就是卡顿

整理自 广州大彩科技 VisualHMI 开发文档(hmi-doc.gz-dc.com)LUA 教程「视频播放」,版权归大彩科技所有。

来源/工具信息 —— 点击展开
来源 Modbus.cn — China's leading Modbus communication protocol technical community 分类 LUA 脚本 / 串口屏/HMI 开发 字数 939 字 · 阅读约 3 分钟 更新 2026-08-04 永久链接 http://www.modbus.cn/en/51510.html
Recommended: Modbus Debug Assistant Mini Program
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
📝 作者声明
本文由 Modbus中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复

Your email address will not be published. 必填项已用 * 标注