예제 #1
0
파일: Server.cs 프로젝트: onbonlab/BX-V-VI
 /// <summary>
 /// 发送消息
 /// </summary>
 /// <param name="data"></param>
 /// <param name="client"></param>
 private static void SendTextMsg(string data, ushort port)
 {
     try
     {
         var content       = Encoding.GetEncoding("GBK").GetBytes(data);
         var contentIntptr = Class1.BytesToIntptr(content);
         bxdualsdk.DynamicAreaParams[] Params = new bxdualsdk.DynamicAreaParams[] {
             new bxdualsdk.DynamicAreaParams()
             {
                 uAreaId        = 0,
                 oAreaHeader_G6 = new bxdualsdk.EQareaHeader_G6()
                 {
                     AreaType       = 0x10,
                     AreaX          = 64,
                     AreaY          = 0,
                     AreaWidth      = 64,
                     AreaHeight     = 16,
                     BackGroundFlag = 0x00,
                     Transparency   = 101,
                     AreaEqual      = 0x00
                 },
                 stPageHeader = new bxdualsdk.EQpageHeader_G6()
                 {
                     PageStyle        = 0x00,
                     DisplayMode      = 1,
                     ClearMode        = 1,
                     Speed            = 1,
                     StayTime         = 100,
                     RepeatTime       = 1,
                     ValidLen         = 0,
                     CartoonFrameRate = 0x00,
                     BackNotValidFlag = 0x00,
                     arrMode          = bxdualsdk.E_arrMode.eSINGLELINE,
                     fontSize         = 12,
                     color            = (uint)0x02,
                     fontBold         = 0,
                     fontItalic       = 0,
                     tdirection       = bxdualsdk.E_txtDirection.pNORMAL,
                     txtSpace         = 0,
                     Valign           = 1,
                     Halign           = 1
                 },
                 fontName          = Class1.BytesToIntptr(Encoding.GetEncoding("GBK").GetBytes("宋体")),
                 strAreaTxtContent = contentIntptr
             }
         };
         byte[] server_ip = Encoding.GetEncoding("GBK").GetBytes("192.168.89.100");
         var    err       = bxdualsdk.bxDual_dynamicAreaS_AddTxtDetails_6G(server_ip, port
                                                                           , bxdualsdk.E_ScreenColor_G56.eSCREEN_COLOR_DOUBLE, 1, Params);
         Console.WriteLine("bxDual_dynamicAreaS_AddTxtDetails_6G   err = " + err);
     }
     catch (Exception ex)
     {
     }
 }
예제 #2
0
        /// <summary>
        /// 同时更新多个动态区图片
        /// </summary>
        public static void dynamicArea_png_2()
        {
            bxdualsdk.EQareaHeader_G6 aheader;
            aheader.AreaType       = 0x10;
            aheader.AreaX          = 0;
            aheader.AreaY          = 0;
            aheader.AreaWidth      = 64;
            aheader.AreaHeight     = 16;
            aheader.BackGroundFlag = 0x00;
            aheader.Transparency   = 101;
            aheader.AreaEqual      = 0x00;
            bxdualsdk.EQareaHeader_G6 aheader1;
            aheader1.AreaType       = 0x10;
            aheader1.AreaX          = 0;
            aheader1.AreaY          = 16;
            aheader1.AreaWidth      = 64;
            aheader1.AreaHeight     = 16;
            aheader1.BackGroundFlag = 0x00;
            aheader1.Transparency   = 101;
            aheader1.AreaEqual      = 0x00;
            bxdualsdk.EQSound_6G stSoundData = new bxdualsdk.EQSound_6G();
            byte[] strSoundTxt = Encoding.GetEncoding("GB2312").GetBytes("插入ab34测试语音");
            stSoundData.SoundFlag            = 0x00;
            stSoundData.SoundPerson          = 0x01;
            stSoundData.SoundVolum           = 6;
            stSoundData.SoundSpeed           = 0x2;
            stSoundData.SoundDataMode        = 0x00;
            stSoundData.SoundReplayTimes     = 0x01;
            stSoundData.SoundReplayDelay     = 200;
            stSoundData.SoundReservedParaLen = 0x03;
            stSoundData.Soundnumdeal         = 0x00;
            stSoundData.Soundlanguages       = 0x00;
            stSoundData.Soundwordstyle       = 0x00;
            stSoundData.SoundDataLen         = strSoundTxt.Length;
            stSoundData.SoundData            = Class1.BytesToIntptr(strSoundTxt);

            aheader.stSoundData  = stSoundData;
            aheader1.stSoundData = stSoundData;

            bxdualsdk.EQpageHeader_G6 pheader;
            pheader.PageStyle        = 0x00;
            pheader.DisplayMode      = 4;
            pheader.ClearMode        = 0x00;
            pheader.Speed            = 5;
            pheader.StayTime         = 100;
            pheader.RepeatTime       = 1;
            pheader.ValidLen         = 0;
            pheader.CartoonFrameRate = 0x00;
            pheader.BackNotValidFlag = 0x00;
            pheader.arrMode          = bxdualsdk.E_arrMode.eMULTILINE;
            pheader.fontSize         = 14;
            pheader.color            = (uint)0x01;
            pheader.fontBold         = 0;
            pheader.fontItalic       = 0;
            pheader.tdirection       = bxdualsdk.E_txtDirection.pNORMAL;
            pheader.txtSpace         = 0;
            pheader.Valign           = 1;
            pheader.Halign           = 1;
            bxdualsdk.EQpageHeader_G6 pheader1;
            pheader1.PageStyle        = 0x00;
            pheader1.DisplayMode      = 0x03;
            pheader1.ClearMode        = 0x01;
            pheader1.Speed            = 15;
            pheader1.StayTime         = 500;
            pheader1.RepeatTime       = 1;
            pheader1.ValidLen         = 0;
            pheader1.CartoonFrameRate = 0x00;
            pheader1.BackNotValidFlag = 0x00;
            pheader1.arrMode          = bxdualsdk.E_arrMode.eSINGLELINE;
            pheader1.fontSize         = 18;
            pheader1.color            = (uint)0x01;
            pheader1.fontBold         = 0;
            pheader1.fontItalic       = 0;
            pheader1.tdirection       = bxdualsdk.E_txtDirection.pNORMAL;
            pheader1.txtSpace         = 0;
            pheader1.Valign           = 1;
            pheader1.Halign           = 0;
            bxdualsdk.DynamicAreaParams[] Params = new bxdualsdk.DynamicAreaParams[2];
            Params[0].uAreaId        = 0;
            Params[0].oAreaHeader_G6 = aheader;
            Params[0].stPageHeader   = pheader;
            byte[] Font = Encoding.GetEncoding("GBK").GetBytes("宋体");
            Params[0].fontName = Marshal.AllocHGlobal(Font.Length);
            Marshal.Copy(Font, 0, Params[0].fontName, Font.Length);
            byte[] img = Encoding.GetEncoding("GBK").GetBytes("123.png\0");
            Params[0].strAreaTxtContent = Marshal.AllocHGlobal(img.Length);
            Marshal.Copy(img, 0, Params[0].strAreaTxtContent, img.Length);
            Params[1].uAreaId        = 1;
            Params[1].oAreaHeader_G6 = aheader1;
            Params[1].stPageHeader   = pheader1;
            Params[1].fontName       = Marshal.AllocHGlobal(Font.Length);
            Marshal.Copy(Font, 0, Params[1].fontName, Font.Length);
            byte[] img1 = Encoding.GetEncoding("GBK").GetBytes("1.png\0");
            Params[1].strAreaTxtContent = Marshal.AllocHGlobal(img1.Length);
            Marshal.Copy(img1, 0, Params[1].strAreaTxtContent, img1.Length);
            //网口
            if (true)
            {
                //动态区优先播放,节目停止播放
                err = bxdualsdk.bxDual_dynamicAreaS_AddAreaPic_6G(Program.ip, Program.port, bxdualsdk.E_ScreenColor_G56.eSCREEN_COLOR_DOUBLE, (byte)Params.Length, Params);
                //是否关联节目
                //err = bxdualsdk.bxDual_dynamicAreaS_AddAreaPic_WithProgram_6G(Program.ip, Program.port, bxdualsdk.E_ScreenColor_G56.eSCREEN_COLOR_DOUBLE,
                //(byte)Params.Length, Params, RelateProNum, RelateProSerial);
            }
            //串口
            if (false)
            {
                //动态区优先播放,节目停止播放
                err = bxdualsdk.bxDual_dynamicAreaS_AddAreaPic_6G_Serial(Program.com, Program.baudRate, bxdualsdk.E_ScreenColor_G56.eSCREEN_COLOR_DOUBLE, (byte)Params.Length, Params);
                //是否关联节目
                //err = bxdualsdk.bxDual_dynamicAreaS_AddAreaPic_WithProgram_6G_Serial(Program.com, Program.baudRate, bxdualsdk.E_ScreenColor_G56.eSCREEN_COLOR_DOUBLE,
                //(byte)Params.Length, Params, RelateProNum, RelateProSerial);
            }
            Console.WriteLine("bxDual_dynamicArea_AddAreaTxtDetails_6G:" + err);
        }