led.java 23 KB
Newer Older
zhangjianqian's avatar
zhangjianqian committed
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452
package com.listenvision;// 注意:此命名空间不可改,否则会报错

//import com.zehong.system.utils.ledCallBack;

public class led {

	/********************************************************************************************
	 *	InitLedType				初始化控制卡型号,程序启动,初始化调用一次即可
	 *
	 *	参数说明
	 *				LedType		卡型号  	0   	T/A/U/XC/W 系列
	 1   	E 系列
	 2		X 系列
	 3		C 系列

	 ********************************************************************************************/
	public native static void InitLedType(int LedType);

	/********************************************************************************************
	 *	CreateProgram				创建节目对象,成功返回节目对象句柄,注意此处屏宽高及颜色参数必需与设置屏参的屏宽高及颜色一致,否则发送时会提示错误
	 *
	 *	参数说明
	 *				LedWidth		屏的宽度
	 *				LedHeight		屏的高度
	 *				ColorType		屏的颜色 1.单色  2.双基色  3.三基色     注:C卡全彩参数为3      X系列卡参数固定为 4
	 *				GrayLevel		灰度等级  赋值  1-5对应的灰度等级分别为  无,4,8,16,32     除C卡外,其它卡传0
	 *				SaveType		节目保存位置,默认为0保存为flash节目,3保存为ram节目。注:flash节目掉电不清除,ram节目掉电清除。应用场景需要实时刷新的,建议保持为ram节目
	 *	返回值
	 *				0				创建节目对象失败
	 *				非0				创建节目对象成功
	 ********************************************************************************************/
	public native static long CreateProgram(int LedWidth,int LedHeight,int ColorType,int GrayLevel,int SaveType);

	/*********************************************************************************************
	 *	AddProgram					添加一个节目
	 *
	 *	参数说明
	 *				hProgram		节目对象句柄
	 *				ProgramNo		节目号 (取值范围0-255)(从0开始)
	 *				ProgramTime		节目播放时长 0.节目播放时长  非0.指定播放时长
	 *				LoopCount		循环播放次数  1-255
	 *	返回值
	 *				0				成功
	 *				非0				失败
	 ********************************************************************************************/
	public native static 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				区域层号,0.前景区(默认) 1.背景区  注:除C系列,其它默认为1
	 *	返回值
	 *				0					成功
	 *				非0					失败
	 ********************************************************************************************/
	public native static 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  rtf  bmp  gif  png  jpg jpeg tiff
	 *				InStyle					入场特技(取值范围 0-38)具体查看开发文档
	 *				nSpeed					特技速度 (取值范围1-255)值越大,速度越慢
	 *				DelayTime				停留时间 (1-65535) 秒

	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static 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和rtf文件)
	 *				AddStr					AddType为0则为字符串数据,AddType为1则为文件路径     换行符(\n)
	 *				FontName				字体名
	 *				FontSize				字体大小
	 *				FontColor				字体颜色   格式BBGGRR 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 static 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和rtf文件)
	 *				AddStr					AddType为0则为字符串数据,AddType为1则为文件路径
	 *				FontName				字体名
	 *				FontSize				字体大小
	 *				FontColor				字体颜色   格式BBGGRR 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 static 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和rtf文件)
	 *				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 static 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 static 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);

	/*********************************************************************************************
	 * AddTimeArea		添加一个计时区域
	 *
	 *	参数说明
	 *				hProgram				节目对象句柄
	 *				ProgramNo				节目号 (取值范围0-255)(从0开始)
	 *				AreaNo					区域号 (取值范围1-255)
	 *				l						区域左上角横坐标
	 *				t						区域左上角纵坐标
	 *				w						区域宽度
	 *				h						区域高度
	 *				FontName				字体名
	 *				FontSize				字体大小
	 *				//FontColor				字体颜色   格式BBGGRR 0xff 红色  0xff00 绿色  0xffff黄色
	 *				FontBold				是否加粗 0不加粗 1加粗
	 *				FontItalic				是否是斜体  0 不斜 1斜
	 *				FontUnderline			是否下划线 0不加下划线 1加下划线
	 *				TimeColor				时间字体颜色0xff 红色  0xff00 绿色  0xffff黄色
	 *				TxtColor				自定义文字字体颜色0xff 红色  0xff00 绿色  0xffff黄色
	 *				ShowStyle				显示格式  0.xx天xx时xx分xx秒  1.xx天xx時xx分xx秒  2.xxDayxxHourxxMinxxSec  3.XXdXXhXXmXXs  4.xx:xx:xx:xx
	 * 				IsMutleLineShow			0 单行  1多行
	 *				TxtStr					自定义文字字符串
	 *				nYear;                  结束年
	 *				nMonth;                 结束月
	 *				nDay;                   结束日
	 *				nHour;                  结束时
	 *				nMinute;                结束分
	 *				nSecond;                结束秒
	 *				IsShowDay;              是否显示天
	 *				IsShowHour;             是否显示时
	 *				IsShowMinute;           是否显示分
	 *				IsShowSecond;           是否显示秒
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int AddTimeArea(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,String FontName,int FontSize,int FontBold,int FontItalic,int FontUnderline,int TimeColor,int TxtColor,int ShowStyle,int IsMutleLineShow,String TxtStr,int nYear,int nMonth,int nDay,int nHour,int nMinute,int nSecond,int IsShowDay,int IsShowHour,int IsShowMinute,int IsShowSecond);

	/*********************************************************************************************
	 * AddVoiceArea		添加一个语音区域 (文本中可以加入文本控制标记来对语音合成发音人、音量、语速、语调等的设置,文本控制标记请查看语音协议)
	 *
	 *	参数说明
	 *				hProgram				节目对象句柄
	 *				ProgramNo				节目号 (取值范围0-255)(从0开始)
	 *				AreaNo					区域号 (取值范围1-255)
	 *				VoiceStr;             	文本
	 *				DelayTime;           	间隔时间
	 *				PlayCount;           	播放次数
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int AddVoiceArea(long hProgram,int ProgramNo,int AreaNo,String VoiceStr,int DelayTime,int PlayCount);

	/*********************************************************************************************
	 * AddNeiMaArea		添加一个内码区域
	 *
	 *	参数说明
	 *				hProgram				节目对象句柄
	 *				ProgramNo				节目号 (取值范围0-255)(从0开始)
	 *				AreaNo					区域号 (取值范围1-255)
	 *				l						区域左上角横坐标
	 *				t						区域左上角纵坐标
	 *				w						区域宽度
	 *				h						区域高度
	 *				NeiMaStr				字符串
	 *				FontSize				字体大小  16  24  32
	 *				FontColor				字体颜色   格式BBGGRR 0xff 红色  0xff00 绿色  0xffff黄色
	 *				InStyle					入场特技 (取值范围 0-9)
	 *				nSpeed					特技速度  (取值范围1-255)
	 *				DelayTime				停留时间  (1-65535)
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int AddNeiMaArea(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,String NeiMaStr,int FontSize,int FontColor,int InStyle,int nSpeed,int DelayTime);

	/*********************************************************************************************
	 *	DeleteProgram						销毁节目对象(注意:如果此节目对象不再使用,请调用此函数销毁,否则会造成内存泄露)
	 *
	 *	参数说明
	 *				hProgram				节目对象句柄
	 ********************************************************************************************/
	public native static void DeleteProgram(long hProgram);

	/*********************************************************************************************
	 *	NetWorkSend							发送节目,此发送为一对一发送
	 *
	 *	参数说明
	 *				IpStr					LED屏IP 格式例如 192.168.1.100   /  广域网开发时,指定LED屏网络唯一ID
	 *				hProgram				节目对象句柄
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int NetWorkSend(String IpStr,long hProgram);

	/*********************************************************************************************
	 *	SetBasicInfo						设置基本屏参
	 *
	 *	参数说明
	 *				IpStr					LED屏的IP 格式例如 192.168.1.100
	 *				ColorType				屏的颜色 1.单色  2.双基色  3.三基色	   注:C卡全彩参数为3      X系列卡参数固定4
	 *				GrayLevel				灰度等级, 赋值  1-5对应的灰度等级分别为 无,4,8,16,32
	 *				LedWidth				屏的宽度点数
	 *				LedHeight				屏的高度点数
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static 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 static int SetOEDA(String IpStr,int Oe,int Da);

	/*********************************************************************************************
	 *	AdjustTime							校时
	 *
	 *	参数说明
	 *				IpStr					LED屏的IP
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int AdjustTime(String IpStr);

	/*********************************************************************************************
	 *	PowerOnOff							开关屏
	 *
	 *	参数说明
	 *				IpStr					LED屏的IP
	 *				OnOff					开关值  0.开屏  1.关屏   2.重启
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int PowerOnOff(String IpStr,int OnOff);

	/*********************************************************************************************
	 *	TimePowerOnOff						定时开关屏
	 *
	 *	参数说明     注:当参数起始时间和结束时间都都为0时,既是取消定时开关屏
	 *				IpStr					LED屏的IP
	 *				StartHour				起始小时
	 *				StartMinute				起始分钟
	 *				EndHour					结束小时
	 *				EndMinute				结束分钟
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int TimePowerOnOff(String IpStr,int StartHour,int StartMinute,int EndHour,int EndMinute);

	/*********************************************************************************************
	 *	SetBrightness						设置亮度
	 *
	 *	参数说明
	 *				IpStr					LED屏的IP
	 *				BrightnessValue			亮度值 0~15
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int SetBrightness(String IpStr,int BrightnessValue);

	/*********************************************************************************************
	 *	TestOnline								LED测试通讯是否正常
	 *
	 *	参数说明
	 *				IpStr					LED屏的IP
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int TestOnline(String IpStr);

	/*********************************************************************************************
	 *	LedInitServer			启动控制卡心跳包服务。注:C2M C4M才支持
	 *
	 *	参数说明
	 *				port			监听的端口
	 *	返回值
	 *				0						成功
	 *				非0						失败,调用LV_GetError来获取错误信息
	 ********************************************************************************************/
	public native static int LedInitServer(int port);

	/*********************************************************************************************
	 *	LedShudownServer			断开控制卡心跳包服务。注:C2M C4M才支持
	 ********************************************************************************************/
	public native static int LedShudownServer();

	/*********************************************************************************************
	 *	RegisterLedServerCallback			注册回调,动态库才会调用LedServerCallback,实时告知上下线控制卡。注:C2M C4M才支持
	 *	cb									回调对象
	 ********************************************************************************************/
	public native static void RegisterLedServerCallback(com.listenvision.ledCallBack cb);

	/*********************************************************************************************
	 *	AddBorder			添加一个边框
	 *
	 *	参数说明
	 *				hProgram				节目对象句柄
	 *				ProgramNo				节目号 (取值范围0-255)(从0开始)
	 *				AreaNo					区域号 (取值范围1-255)
	 *				l						区域左上角横坐标
	 *				t						区域左上角纵坐标
	 *				w						区域宽度
	 *				h						区域高度
	 *				BorderType				边框类型   0:单色   1:炫色   2:全彩
	 *				BorderValue				边框的值   具体可参考PC客户端软件对应的选项
	 *				BorderColor				边框颜色   只有单色才可设置颜色
	 *				BorderStyle				边框特技  0:固定   1:顺时针   2:逆时针   3: 闪烁
	 *				BorderSpeed				边框速度   0-31 越大越慢
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/
	public native static int AddBorder(long hProgram,int ProgramNo,int AreaNo,int l,int t,int w,int h,int BorderType, int BorderValue, int BorderColor, int BorderStyle, int BorderSpeed);

	/*********************************************************************************************
	 *	SetLedCommunicationParameter		设置LED屏的网络信息
	 *
	 *	参数说明
	 *				IpStr					LED屏的IP
	 *				NewIp					LED屏的新IP
	 *				NewNetMask				LED屏的新子网掩码
	 *				NewGateway				LED屏的新网关
	 *				NewMac					LED屏的新mac地址
	 *				IsClient				1为启动客户端模式 0为不起动	//当为0时,以下参数设置为0
	 *				ServerIp				服务器IP
	 *				ServerPort				端口
	 *				IsDHCP					1自动分配 0手动配置
	 *				IsHeartBeat				1启动心跳包 0不起动心跳包
	 *				HeartBeatTime			LED心跳包时间
	 *	返回值
	 *				0						成功
	 *				非0						失败
	 ********************************************************************************************/

	public native static int SetLedCommunicationParameter(String IpStr,String NewIp,String NewNetMask,String NewGateway,String NewMac,int IsClient,String ServerIp,int ServerPort,int IsDHCP,int IsHeartBeat,int HeartBeatTime);
	static
	{

		//System.loadLibrary("lv_led");  
		System.load("D:\\User\\Desktop\\demo(java)\\src\\lv_led.dll");
	}
}