|
@@ -0,0 +1,421 @@
|
|
|
+package com.listenvision;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+public class led {
|
|
|
+
|
|
|
+ /*
|
|
|
+ *****************************************************************************************************************
|
|
|
+ * LED SDK 7.0
|
|
|
+ *
|
|
|
+ * 胡伟(HuWei)
|
|
|
+ *
|
|
|
+ *
|
|
|
+ * (C) Copyright 2006 - 2020, LISTEN VISION
|
|
|
+ * All Rights Reserved
|
|
|
+ *
|
|
|
+ *****************************************************************************************************************
|
|
|
+ */
|
|
|
+
|
|
|
+ /* 特技值对应
|
|
|
+ 0=立即显示
|
|
|
+ 1=随机
|
|
|
+ 2=左移
|
|
|
+ 3=右移
|
|
|
+ 4=上移
|
|
|
+ 5=下移
|
|
|
+ 6=连续左移
|
|
|
+ 7=连续右移
|
|
|
+ 8=连续上移
|
|
|
+ 9=连续下移
|
|
|
+ 10=闪烁
|
|
|
+ 11=激光字(向上)
|
|
|
+ 12=激光字(向下)
|
|
|
+ 13=激光字(向左)
|
|
|
+ 14=激光字(向右)
|
|
|
+ 15=水平交叉拉幕
|
|
|
+ 16=上下交叉拉幕
|
|
|
+ 17=左右切入
|
|
|
+ 18=上下切入
|
|
|
+ 19=左覆盖
|
|
|
+ 20=右覆盖
|
|
|
+ 21=上覆盖
|
|
|
+ 22=下覆盖
|
|
|
+ 23=水平百叶(左右)
|
|
|
+ 24=水平百叶(右左)
|
|
|
+ 25=垂直百叶(上下)
|
|
|
+ 26=垂直百叶(下上)
|
|
|
+ 27=左右对开
|
|
|
+ 28=上下对开
|
|
|
+ 29=左右闭合
|
|
|
+ 30=上下闭合
|
|
|
+ 31=向左拉伸
|
|
|
+ 32=向右拉伸
|
|
|
+ 33=向上拉伸
|
|
|
+ 34=向下拉伸
|
|
|
+ 35=分散向左拉伸
|
|
|
+ 36=分散向右拉伸
|
|
|
+ 37=冒泡
|
|
|
+ 38=下雪
|
|
|
+ */
|
|
|
+
|
|
|
+ /********************************************************************************************
|
|
|
+ * CreateProgram 创建节目对象,成功返回节目对象句柄
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * LedWidth 屏的宽度
|
|
|
+ * LedHeight 屏的高度
|
|
|
+ * ColorType 屏的颜色 1.单色 2.双基色 3.三基色
|
|
|
+ * GrayLevel 灰度等级 赋值 1-5对应的灰度等级分别为 无,4,8,16,32
|
|
|
+ * SaveType 节目保存位置,默认为0保存为flash节目,3保存为ram节目
|
|
|
+ * 返回值
|
|
|
+ * 0 创建节目对象失败
|
|
|
+ * 非0 创建节目对象成功
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native long CreateProgram(int LedWidth,int LedHeight,int ColorType,int GrayLevel,int SaveType);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * AddProgram 添加一个节目
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * hProgram 节目对象句柄
|
|
|
+ * ProgramNo 节目号(取值范围0-255)(从0开始)
|
|
|
+ * ProgramTime 节目播放时长 0.节目播放时长 非0.指定播放时长
|
|
|
+ * LoopCount 循环播放次数
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int AddProgram(long hProgram,int ProgramNo,int ProgramTime,int LoopCount);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * LV_AddImageTextArea 添加一个图文区域
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * hProgram 节目对象句柄
|
|
|
+ * ProgramNo 节目号(取值范围0-255)(从0开始)
|
|
|
+ * AreaNo 区域号(取值范围1-255)
|
|
|
+ * l 区域左上角横坐标
|
|
|
+ * t 区域左上角纵坐标
|
|
|
+ * w 区域宽度
|
|
|
+ * h 区域高度
|
|
|
+ * nLayout 区域层号,7代卡只能为0
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int AddImageTextArea(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,int nLayout);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * AddFileToImageTextArea 添加一个文件到图文区
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * hProgram 节目对象句柄
|
|
|
+ * ProgramNo 节目号(取值范围0-255)(从0开始)
|
|
|
+ * AreaNo 区域号(取值范围1-255)
|
|
|
+ * FilePath 文件路径,支持的文件类型有 txt bmp jpg jpeg
|
|
|
+ * InStyle 入场特技(取值范围 0-38)
|
|
|
+ * nSpeed 特技速度 (取值范围1-255)值越大,速度越慢
|
|
|
+ * DelayTime 停留时间 (1-65535)
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int AddFileToImageTextArea(long hProgram,int ProgramNo,int AreaNo,String FilePath,int InStyle,int nSpeed,int DelayTime);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * AddMultiLineTextToImageTextArea 添加一个多行文本到图文区
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * hProgram 节目对象句柄
|
|
|
+ * ProgramNo 节目号(取值范围0-255)(从0开始)
|
|
|
+ * AreaNo 区域号(取值范围1-255)
|
|
|
+ * AddType 添加的类型 0.为字符串 1.文件(只支持txt)
|
|
|
+ * AddStr AddType为0则为字符串数据,AddType为1则为文件路径
|
|
|
+ * FontName 字体路径
|
|
|
+ * FontSize 字体大小
|
|
|
+ * FontColor 字体颜色 0xff 红色 0xff00 绿色 0xffff黄色
|
|
|
+ * FontBold 是否加粗 0不加粗 1加粗
|
|
|
+ * FontItalic 是否是斜体 0 不斜 1斜
|
|
|
+ * FontUnderline 是否下划线 0不加下划线 1加下划线
|
|
|
+ * InStyle 入场特技(取值范围 0-38)
|
|
|
+ * nSpeed 特技速度 (取值范围1-255)值越大,速度越慢
|
|
|
+ * DelayTime 停留时间 (1-65535)
|
|
|
+ * nAlignment 左右居中对齐方式 0.左对齐 1.水平居中 2.右对齐 (注意:只对字符串和txt文件有效)
|
|
|
+ * IsVCenter 是否垂直居中 0.置顶(默认) 1.垂直居中
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int AddMultiLineTextToImageTextArea(long hProgram,int ProgramNo,int AreaNo,int AddType,String AddStr,String FontName,int FontSize,int FontColor,int FontBold,int FontItalic,int FontUnderline,int InStyle,int nSpeed,int DelayTime,int nAlignment,int IsVCenter);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * AddStaticTextToImageTextArea 添加一个静止文本到图文区
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * hProgram 节目对象句柄
|
|
|
+ * ProgramNo 节目号(取值范围0-255)(从0开始)
|
|
|
+ * AreaNo 区域号(取值范围1-255)
|
|
|
+ * AddType 添加的类型 0.为字符串 1.文件(只支持txt)
|
|
|
+ * AddStr AddType为0则为字符串数据,AddType为1则为文件路径
|
|
|
+ * FontName 字体路径
|
|
|
+ * FontSize 字体大小
|
|
|
+ * FontColor 字体颜色 0xff 红色 0xff00 绿色 0xffff黄色
|
|
|
+ * FontBold 是否加粗 0不加粗 1加粗
|
|
|
+ * FontItalic 是否是斜体 0 不斜 1斜
|
|
|
+ * FontUnderline 是否下划线 0不加下划线 1加下划线
|
|
|
+ * DelayTime 停留时间 (1-65535)
|
|
|
+ * nAlignment 左右居中对齐方式 0.左对齐 1.水平居中 2.右对齐 (注意:只对字符串和txt文件有效)
|
|
|
+ * IsVCenter 是否垂直居中 0.置顶(默认) 1.垂直居中
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int AddStaticTextToImageTextArea(long hProgram,int ProgramNo,int AreaNo,int AddType,String AddStr,String FontName,int FontSize,int FontColor,int FontBold,int FontItalic,int FontUnderline,int DelayTime,int nAlignment,int IsVCenter);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * AddSinglelineTextToImageTextArea 添加一个多行文本到图文区
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * hProgram 节目对象句柄
|
|
|
+ * ProgramNo 节目号(取值范围0-255)(从0开始)
|
|
|
+ * AreaNo 区域号(取值范围1-255)
|
|
|
+ * AddType 添加的类型 0.为字符串 1.文件(只支持txt)
|
|
|
+ * AddStr AddType为0则为字符串数据,AddType为1则为文件路径
|
|
|
+ * FontName 字体路径
|
|
|
+ * FontSize 字体大小
|
|
|
+ * FontColor 字体颜色 0xff 红色 0xff00 绿色 0xffff黄色
|
|
|
+ * FontBold 是否加粗 0不加粗 1加粗
|
|
|
+ * FontItalic 是否是斜体 0 不斜 1斜
|
|
|
+ * FontUnderline 是否下划线 0不加下划线 1加下划线
|
|
|
+ * InStyle 入场特技 (取值范围 0-38)
|
|
|
+ * nSpeed 特技速度 (取值范围1-255)
|
|
|
+ * DelayTime 停留时间 (1-65535)
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int AddSinglelineTextToImageTextArea(long hProgram,int ProgramNo,int AreaNo,int AddType,String AddStr,String FontName,int FontSize,int FontColor,int FontBold,int FontItalic,int FontUnderline,int InStyle,int nSpeed,int DelayTime);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * AddSinglelineTextToImageTextArea 添加一个多行文本到图文区
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * hProgram 节目对象句柄
|
|
|
+ * ProgramNo 节目号 (取值范围0-255)(从0开始)
|
|
|
+ * AreaNo 区域号 (取值范围1-255)
|
|
|
+ * l 区域左上角横坐标
|
|
|
+ * t 区域左上角纵坐标
|
|
|
+ * w 区域宽度
|
|
|
+ * h 区域高度
|
|
|
+ * FontName 字体路径
|
|
|
+ * FontSize 字体大小
|
|
|
+ * FontColor 字体颜色 0xff 红色 0xff00 绿色 0xffff黄色
|
|
|
+ * FontBold 是否加粗 0不加粗 1加粗
|
|
|
+ * FontItalic 是否是斜体 0 不斜 1斜
|
|
|
+ * FontUnderline 是否下划线 0不加下划线 1加下划线
|
|
|
+ * IsYear 是否显示年 1为显示 0不显示 下同
|
|
|
+ * IsWeek 是否显示星期
|
|
|
+ * IsMonth 是否显示月
|
|
|
+ * IsDay 是否显示日
|
|
|
+ * IsHour 是否显示时
|
|
|
+ * IsMinute 是否显示分
|
|
|
+ * IsSecond 是否显示秒
|
|
|
+ * DateFormat 日期格式 0.YYYY年MM月DD日 1.YY年MM月DD日 2.MM/DD/YYYY 3.YYYY/MM/DD 4.YYYY-MM-DD 5.YYYY.MM.DD 6.MM.DD.YYYY 7.DD.MM.YYYY
|
|
|
+ * DateColor 日期字体颜色0xff 红色 0xff00 绿色 0xffff黄色
|
|
|
+ * WeekFormat 星期格式 0.星期X 1.Monday 2.Mon.
|
|
|
+ * WeekColor 星期字体颜色0xff 红色 0xff00 绿色 0xffff黄色
|
|
|
+ * TimeFormat 时间格式 0.HH时mm分ss秒 1.HH時mm分ss秒 2.HH:mm:ss 3.上午 HH:mm:ss 4.AM HH:mm:ss 5.HH:mm:ss 上午 6.HH:mm:ss AM
|
|
|
+ * TimeColor 时间字体颜色0xff 红色 0xff00 绿色 0xffff黄色
|
|
|
+ IsMutleLineShow 0 单行 1多行
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int AddDigitalClockArea(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,String FontName,int FontSize,int FontColor,int FontBold,int FontItalic,int FontUnderline,int IsYear,int IsWeek,int IsMonth,int IsDay,int IsHour,int IsMinute,int IsSecond,int DateFormat,int DateColor,int WeekFormat,int WeekColor,int TimeFormat,int TimeColor,int IsMutleLineShow);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * DeleteProgram 销毁节目对象(注意:如果此节目对象不再使用,请调用此函数销毁,否则会造成内存泄露)
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * hProgram 节目对象句柄
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native void DeleteProgram(long hProgram);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * NetWorkSend 发送节目,此发送为一对一发送
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * IpStr LED屏IP / 广域网开发时,指定LED屏网络唯一ID
|
|
|
+ * hProgram 节目对象句柄
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int NetWorkSend(String IpStr,long hProgram);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * SetBasicInfo 设置基本屏参
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * IpStr LED屏的IP
|
|
|
+ * ColorType 屏的颜色 1.单色 2.双基色 3.三基色
|
|
|
+ * GrayLevel 灰度等级, 赋值 1-5对应的灰度等级分别为 无,4,8,16,32
|
|
|
+ * LedWidth 屏的宽度点数
|
|
|
+ * LedHeight 屏的高度点数
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int SetBasicInfo(String IpStr,int ColorType,int GrayLevel,int LedWidth,int LedHeight);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * SetOEDA 设置OE DA
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * IpStr LED屏的IP
|
|
|
+ * Oe OE 0.低有效 1.高有效
|
|
|
+ * Da DA 0.负极性 1.正极性
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int SetOEDA(String IpStr,int Oe,int Da);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * AdjustTime 校时
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * IpStr LED屏的IP
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int AdjustTime(String IpStr);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * PowerOnOff 开关屏
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * IpStr LED屏的IP
|
|
|
+ * OnOff 开关值 0.开屏 1.关屏 2.重启
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int PowerOnOff(String IpStr,int OnOff);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * TimePowerOnOff 定时开关屏
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * IpStr LED屏的IP
|
|
|
+ * StartHour 起始小时
|
|
|
+ * StartMinute 起始分钟
|
|
|
+ * EndHour 结束小时
|
|
|
+ * EndMinute 结束分钟
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int TimePowerOnOff(String IpStr,int StartHour,int StartMinute,int EndHour,int EndMinute);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * SetBrightness 设置亮度
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * IpStr LED屏的IP
|
|
|
+ * BrightnessValue 亮度值 0~15
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int SetBrightness(String IpStr,int BrightnessValue);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * LedTest LED测试
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * IpStr LED屏的IP
|
|
|
+ * TestValue 测试值
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int LedTest(String IpStr,int TestValue);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * SetLedCommunicationParameter 设置LED屏的网络信息
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * IpStr LED屏的IP
|
|
|
+ * NewIp LED屏的新IP
|
|
|
+ * NewNetMask LED屏的新子网掩码
|
|
|
+ * NewGateway LED屏的新网关
|
|
|
+ * NewMac LED屏的新mac地址
|
|
|
+ * IsClient 1为启动客户端模式 0为不起动
|
|
|
+ * ServerIp 服务器IP
|
|
|
+ * ServerPort 端口
|
|
|
+ * IsDHCP 1自动分配 0手动配置
|
|
|
+ * IsHeartBeat 1启动心跳包 0不起动心跳包
|
|
|
+ * HeartBeatTime LED心跳包时间
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int SetLedCommunicationParameter(String IpStr,String NewIp,String NewNetMask,String NewGateway,String NewMac,int IsClient,String ServerIp,int ServerPort,int IsDHCP,int IsHeartBeat,int HeartBeatTime);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * LedInitServer 启动控制卡心跳包服务
|
|
|
+ *
|
|
|
+ * 参数说明
|
|
|
+ * port 监听的端口
|
|
|
+ * 返回值
|
|
|
+ * 0 成功
|
|
|
+ * 非0 失败,调用LV_GetError来获取错误信息
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int LedInitServer(int port);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * LedShudownServer 断开控制卡心跳包服务
|
|
|
+ ********************************************************************************************/
|
|
|
+ public native int LedShudownServer();
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * RegisterLedServerCallback 注册回调,动态库才会调用LedServerCallback,实时告知上下线控制卡
|
|
|
+ * cb 回调对象
|
|
|
+ ********************************************************************************************/
|
|
|
+ //public native static void RegisterLedServerCallback(ledCallBack cb);
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * IdStrList 存储上线控制卡
|
|
|
+ ********************************************************************************************/
|
|
|
+ public static List<String> IdStrList=new ArrayList<>();
|
|
|
+
|
|
|
+ /*********************************************************************************************
|
|
|
+ * LedServerCallback 动态库回调Java方法,实时告知上下线控制卡
|
|
|
+ ********************************************************************************************/
|
|
|
+ public void LedServerCallback(int Msg, int wParam, String networkIdStr)
|
|
|
+ {
|
|
|
+ switch(Msg){
|
|
|
+ case 1:
|
|
|
+ IdStrList.add(networkIdStr);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ IdStrList.remove(networkIdStr);
|
|
|
+ break;
|
|
|
+ default :
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i < IdStrList.size(); i++) {
|
|
|
+ System.out.println(IdStrList.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ static
|
|
|
+ {
|
|
|
+ System.loadLibrary("ledplayer7");
|
|
|
+ }
|
|
|
+}
|