为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件

2018-05-01 15页 doc 36KB 28阅读

用户头像

is_435706

暂无简介

举报
用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件 用JoyStick游戏手柄控制LED显示屏视频 处理器及专用播放软件 曹恒林:用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件 文章编号:1006—6268(2010)11-0046—05 用JoyStick游戏手柄控制LED显 示屏视频处理器及专用播放软件 曹恒林 (苏州汤威电子科技有限公司,江苏苏州215228) 摘要:利用Windows消息编程的原理编写软件来获取JoySdck游戏手柄的按键消息,并且按照 相应的消息执...
用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件
用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件 用JoyStick游戏手柄控制LED显示屏视频 处理器及专用播放软件 曹恒林:用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件 文章编号:1006—6268(2010)11-0046—05 用JoyStick游戏手柄控制LED显 示屏视频处理器及专用播放软件 曹恒林 (苏州汤威电子科技有限公司,江苏苏州215228) 摘要:利用Windows消息编程的原理编写软件来获取JoySdck游戏手柄的按键消息,并且按照 相应的消息执行操作来控制LED视频处理器和LED播放软件,最终满足复杂的播放操作要求. 关键词:LED显示屏;LED视频处理器;JoyStick游戏手柄;Delphi消息编程;串口通信; SPCoMM控件 中图分类号:TN312+.8文献标识码:B UseJoyStickGameControllerControlLEDVideoProcessorand LEDPlayerSoftware CAOHeng-lin (SuzhuTonvyElectronicTechnologyCo.,Ltd.,SuzhouJiangsu215228,China) Abstract:Windowsprogrammingusingtheprincipleofmessages,writingsoftwaretoget keymessagesofJoyStickgamecontroller,andperformoperationsinaccordancewiththe appropriatemessagetothecontrolLEDvideoprocessorandLEDplayersoftware,and ultimatelytomeetthecomplexrequirementsoftheplayoperation. Keywords:LEDdisplay;LEDvideoprocessor;joystick;delphimessage;serialport communication;SPCOMM 引言 全彩LED显示屏在大型活动现场的使用中常 常要面对复杂的播放要求,常见的是以专用LED视 频处理器为核心,将多个视频信号输入视频处理器, 经过选择输出其中一路视频信号给同步系统的发送 卡传送至接收卡,最终将图像视频显示在LED显示 屏上.在通过视频处理器选择输出信号的同时,还要 将对应的播放内容及时处理并且准备好,这个过程 看似简单,但是操作繁琐,需要多个人配合完成操 作,而且很容易出错.本文针对这一情况,从实际出 发,利用消息编程的原理编写应用软件,暂且称为 (LED显示屏特殊功能播放器》,该软件通过获取游 戏手柄的按键消息并进行处理,来控制LED视频处 理器与播放电脑上的LED播放软件完成复杂的操 作过程,减少了工作量,提高了效率. 1LED显示屏现场播放系统组成 图1所示的播放系统采用3台电脑,其中1台 46现代显示AdvancedDisplayNov.2010,总第118期收稿日期:2O10 一O9—29 曹恒林:用JoyStick游戏手柄控制LED显示屏视频处理器及专用播 放软件 为主控电脑,绝大多数的厂家和工程商在安装LED 电子显示屏时都为客户配备了1台主控电脑(包含 同步系统发送卡).另外还有2台高性能笔记本电脑 (其中1台备用)辅助播放,因为大型活动现场用笔 记本电脑方便携带,便于活动结束后设备的搬移.图 1中所有的播放电脑都以显卡双显示复制模式对外 输出视频信号. 2特殊功能播放器软件实现原理 ((LED显示屏特殊功能播放器》软件各功能块组 成如图2所示,软件的用户界面如图3所示,软件分 别为JoyStick按键消息获取及处理,LED视频处理 器串口通讯,多媒体播放,外部程序控制等.其中多 媒体播放图片显示需要将DoubIeBuffered设置为 True,就是所谓的双缓冲.另外音视频播放采用 WindowsMediaPlayer控件,这部分内容资料很 多,这里不再详细叙述.以((LED显示屏特殊功能播 放器》为核心,JoyStick游戏手柄作为输入控制端, 手柄的按键分别有不同的按键消息数值,特殊功能 播放器获取消息并且提取出消息数值,从而有选择 地产生相应执行程序.这样可以通断LED视频处理 器,选择视频处理器的输入信号源,也可以向其它播 图1LED播放系统组成框图 剐——LED视频处理器LED视频处理器 RS232通讯控制指令收发 图片播放LED专用播放软件J oyStick —— ?视频播放_-.(例如灵星雨公司的 涎音频播放LED演播室) 0. ?外部程序控制其它多媒体软件 —— (发送Windows消息)(例如暴风影音) 图2(LED显示屏特殊功能播放器》输入输出控制示意图 Nov.2010,总第118期现代显示AdvancedDisplay47 曹恒林:用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件 cl擘豳片播放5音频播救}视频摇敞舛帮程序窗口专业视频处理嚣游戏手柄熬律使用说明圜r蚕 盥幽口 擞摊潮攘0罐啦.嘲斌?9漩密鞠簦撬貘娃理嚣 :回圆圈固;到[堡型巨逸L曼J;遮到隧到谚簪9旺面西==) 3匡豳国回围3l鬻侉}I孵止l习_Immll暂停l划WI9l播敲I量止嵌吲厂西r1囊 ?lVGAl 誊绷控制?i融 翌壁l网 ?r ?:0:0?l{el 謦:巨习[巫口圜匪I[口团旺:i豳涸}耆一 -i f lShowMaind,ctufe{0-- 日】D-D9—29lfi蝴日58糟佯墨罩曩碍环单惯:15g凸Z5g珏ll60口{g翱106 图3《LED显示屏特殊功能播放器》用户界面 放软件(例如灵星雨LED演播室)的某个按钮发送 消息代替鼠标单击等操作. 选择视频处理器的信号源和按下播放软件的某 个按键甚至多个按键,都可以按照顺序连贯进行,这 个过程时间短暂,使得LED显示屏中显示的画面完美 切换. 2.1JoyStick游戏手柄及消息编程 用JoyStick就要熟悉一下相关的API函数,查看 WindowsSDK,JoyStick相关的重要函数和消息有: (1)函数ioySetCapture(HWNDhwnd,UINT uJoylD,UINTuPeriod,BOOLfChanged)的功能是捕 获相应的JoyStick动作,并且将对应的消息发送到 指定的窗口,再由指定的消息处理程序进行处理; (2)消息MM_JOY1BUTTONDOWN是指JOY1 有按键按下: (3)其它的API函数和消息这里不再叙述请读 者自行查阅. 在Delphi中开发JoyStick相关的应用软件需 要在单元的Uses部分加入MMsystem,并且查看 是否包含了JoyStick相关的消息常量,如果没有就 自行添加,参照如下: censt{joystick) {$EXTERNALSYMMMJOY1MOVE) MM_JOY1MeVE=$3A0; {$EXTERNALSYMMMJOY2MOVE) MMJOY2MOVE=$3A1: {$EXTERNALSYMMM—JOY1ZMOVE) MMJOY1ZMOVE=$3A2: {$EXTERNALSYMMMJOY2ZMOVE) MMJOY2ZMOVE=$3A3; {$EXTERNALSYMMMJOY1BUTTONDOWN) MMJOY1BUT1-ONDOWN=$3B5; {$E>(1_ERNALSYMMM—JOY2BUTTONDOWN) MMJOY2BUT1_ONDOWN=$3B6; {$EXTERNALSYMMMOY1BU不ONUP) MMJOY1BU1_rONUP=$3B7: {$EXTERNALSYMMMOY2BUTTONUP) MMJOY2BU]q-ONUP=$3B8; 然后按照消息编程的开发步骤写声明: procedureMMJOY1BUTTONDOWN(varMsg: TMessage);messageMMOY1BUTTONDOWN: 初始化JoyStick,使得产生的按键消息送给指 定的窗口: procedureTFormmain.ButtOn20ClickfSender: TObject): begin joySetCapture(Form—main.Handle,JOYSTICKI — D1,3O,TRUE);//按键消息发到Form—main end; 具体的消息执行过程如下: procedureTFOrmmain.MMJOY1BU不ONDOWN (varMsg:TMessage); Var aKeyVakinteger; begin aKeyVal:=MSG.WParam;//消息中的按键数值 caseaKeyValof 257:Button6.Click;//KEY1 385:ButtonVMVGA.Click;?VMVGA 514:Button7.Click;?KEY2 642:ButtonVMDVI.Click;/MDVI 1028:RzButton1.Click;//KEY3 1156:ButtonVMVedio.Click;?VMDVl 2056:RzButton2.Click;?KEY4 else 48现代显示AdvancedDisplayNov.2010,总第118期 曹恒林:用JoyStick游戏手柄控制LED显示屏视频处理器及专用播 放软件 showmessage(‘按键消息值:’+inttostr (aKeyVaI)+}}10+}}13+’找不到对应的按键指令!’): end; end; 2.2通过RS232串口通讯控制LED视频处 理器 本文以上海均显科技有限公司的LED视频处 理器举例,其主画面输入信号选择的发送命令为: 【BEEF】【19】【0300】【56AC】【5AA5】【SOURCE—SEL (1byte)].SOURCE—SEL:一个字节,选择主画面输入 信号,信号意义如下: 0O:VGA 01:AV1 02:S—VIDEO O3:HDM1 04:YPbPrl FF:非法信号 返回字符:成功返回06,不成功返回15 procedureTFOm1main.BtnVMCommConnectClick (Sender:TObject); begin try ifButtonVMCommConnectCaption=‘Connect’ then begin COmm.StopComm; COmm.CommName:=‘COM1’: Comm.BaudRate:=19200; COmm.ByteSize:=一8 COmm.Parity:=None; COmm.ParityCheck:=false; Comm.StopBits::一 1: Comm.StartComm; BtnVMCommConnect.Caption:=‘DisConnect’: MemoVMCommlnfo.Clear; MemoVMCommlnfo.Lines.Add(‘串口打开成 功!’): end else begin Comm.StopComm; BtnVMCommConnect.Caption:=‘Connect’: MemoVMCommlnfo.Lines.Add(‘串口已经关 闭!’): end; except MemoVMCommlnfo.Lines.Add(‘串口打开失 败,请检查串口号及通信线路!’): end; ?向LED视频处理器发送命令 procedureTForm— main.CommSend(Cmd:integer); Var aSendBuf:arrav【0..9】ofbyte; begin aSendBuf aSendBuf aSendBuf aSendBuf aSendBuf = $BEaSendBuf【1】:=$EF: = $19:aSendBuf[3】:=$03: = $O0aSendBuf[5】:=$56: = $ACaSendBuf[7】:=$5A: = $A5;aSendBuf[9]:=Byte(Cmd); Comm.WriteCommData(@aSendBuf,1O): end; ?从LED视频处理器返回的字符 ProcedureTFormmain.CommReceiveData(Se—nder. TObject;Buffer:PointerBufferLength:Word); Var i:DWORD: ReceiveBu什er:PChar; aStr:string; begin Try ReceveBuffer:=Buffer;Dec(ReceiveBuffer): fori:=0toBufferLength一1dO begin inc(ReceiveBuffer):aStr:=aStr+IntToHEX (Ord(Bvte(ReceiveBuffer)),2): MemoVMCommlnfo.Lines.Add(‘接收到设备 应答:’+aStr); end; Except onE:Exceptiondo begin //异常处理 end; end; end: Nov.2010,总第118期现代显示AdvancedDisplay49 O2468 曹恒林:用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件 2.3消息编程控制外部的LED专用播放软件 仍然是基于消息编程,首先是用API函数取得 外部LED专用播放软件中的某些功能按键的句柄, 然后向这些按钮发送特定的消息代替鼠标操作的过 程.获取句柄用以下2个API函数: (1)BOOLGetCursorPos(LPPOINTIpPoint); (2)HWNDWindowFromPoint(POlNTPoint): 在软件中放置一个Timer控件,利用Timer事 件来获取当前鼠标位置,从而得到该鼠标位的窗口 句柄,具体代码如下: procedureTForm— main.Timer_HndTimer(Sen—der: TObject): VdI rPos:TPoint; hWnd,HndParent:THandle: begin ifboolean(GetCursorPos(rPos))then begin//得到鼠标位置信息 hWnd:=WindowFromPoint(rPos);//获得句柄 Edit_ Hnd.text:=lntToStr(hWnd): //HndParent:=windows.GetParent(hWnd): ?得到父窗口 end; end; 得到句柄我们可以采用发消息代替鼠标按键单 击,双击等操作,l;L~tn我们要按下灵星雨LED演播 室的播放按键,可以向该按键发送如下的消息指令: SendMessage(HndPlay,WM—LBU不ONDOWN,0,0): SendMessage(HndPlay,WM—LBUTTONUP,0,0) 这两条指令就实现了鼠标单击的动作,HndPlay即 为该按键的句柄. 3结论 本文采用的方法简单可靠,实现容易,有较高的 实用价值.此方法编写出的(LED特殊功能播放器 V2.0》软件在2010年9月河北省运动会开幕式期 间主会场——廊坊体育场的LED显示屏现场播放 中得到应用,仅以本文作者一人,就保障了LED显 示屏现场内容的播放,取得了非常好的效果. 参考文献 【1】DelphiHelp[M】.BorlandSoftwareCorporation. 【2]WindowsMultimediaPlatformSDK[M】. 【3】陈增发,严锋.Delphi+SPCOMM控件实现串口通信【J】. 科技资讯,2006(31):222. 【4】视频处理器串口通讯fM】.上海均显电子科技有限公 司. 作者简介:曹恒林(1983一),男,江苏盐城人,主要从 事单片机,LED显示屏,LED亮化照明以及工业自 动化方面的控制系统软硬件开发,E—mail: 88410664@qq.com. 晶元光电解析LED照明技术的4个发展趋势 台湾晶元光电王希维在第七届SSL上指出晶元光电有4个 技术优势,而这四个技术也是未来LED照明技术发展的方向. 第一,灯泡光通量达到800Im.800ImLED灯泡可以替 代60W白炽灯,这方面飞利浦和东芝已经走在了市场前列, 飞利浦800ImLED替代灯2013年的目标售价为1O美元,届 时能够被市场接受.800Im指的是灯泡的光通量,所以在封装 层面上光通量要达到1,000Im左右. 第二个重要指标是流明每美金,根据DOE的路线图, 2015年可以达到500Im/$,在成本性价比方面,亚洲公司的竞 争力更强,相信在2012年即可达到500Im/$的指标.500lm/ $的算法很简单,因为据麦肯锡分析,当6OWLED替代灯价格 为1O美元时,可以被市场接受,这样封装成本为2美元,光通量 为1,000Im,所以封装环节达到500Im席时,可以被市场接受. 第三,王希维认为H,,/ACLED是室内照明应用的最佳方 案,晶电是最早推出高压LED的厂商,已于今年第2季度已开 始量产,从晶元已经量产的45milX45mil蓝光LED芯片看, HVLED芯片的效率较ACLED芯片的效率高20%.王希维 对为什么采用高压LED进行了解释,想要达到1,000Im LED,则需6.6W@15Olm/W,要想达到这个指标有两种实现 方式:2A@3.3V和30mA@220V,对于LED和电源转换器的 效率而言,低电流比高电流要容易很多.而且高压驱动下电流 减小,散热问题将得到好的解决. 第四,一般采用芯片激发荧光粉的方式产生的暖白光 LED的发光效率比冷白光要低,晶元光电采用添加红光LED 的方式解决暖白光LED光效与显色指数之间的矛盾.近日,晶 元光电宣布获得高效的红光AIGalnPLED芯片,实验室光效 高达168Im/W@20mA,18OIm/W@6mA,主要波长为 61Onm. 50现代显示AdvancedDisplayNov.2010,总第118期
/
本文档为【用JoyStick游戏手柄控制LED显示屏视频处理器及专用播放软件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索