精华内容
下载资源
问答
  • “星际多媒体信息发布系统(或称数字标牌Digital Signage、电子告示)广告机软件”是一款永久免费的数字标牌内容制作软件,用以制作精彩节目在等离子液晶(LCD)平板电视、LED屏、投影设备等多媒体终端播放以及触摸...
  • 系统概述广角广告多媒体发布系统是基于企业网和互联网的视频多媒体播放系统,它可以让企业、广告运营商和政府机构轻松构建网络多媒体信息发布和视频播放系统,为用户提供高质量的视频多媒体服务,视音频质量可达到...

    系统概述

    广角广告多媒体发布系统是基于企业网和互联网的视频多媒体播放系统,它可以让企业、广告运营商和政府机构轻松构建网络多媒体信息发布和视频播放系统,为用户提供高质量的视频多媒体服务,视音频质量可达到卓越的高清电视 品质 。该系统全面支持 MPEG-1 VCD )、 MPEG-2 DVD )、 MPEG-4 DivX Xvid 国际编码标准,支持 RTP RTCP RTSP RSVP 等国际流媒体标准协议,完全满足企业网和互联网上流媒体播放的需求。

       广角广告多媒体发布系统以高质量的编码方式将视频信号、音频信号、图片信息和滚动字幕组合成一个流媒体,通过网络传输到网络播放器(广角播放器),然后 由播放器将流媒体信息转换成显示终端(如液晶电视)的视频信号播出。这种信息发布模式融合了多媒体视频信息的多样性和生动性,还能实现远程集中管理和信息 内容的随时更新,可以随时插播新闻、图片、天气预报和各种即时信息。受众能够第一时间接触到最新的资讯。

    2、与传统媒体的比较

    成本低廉: 与传统媒体相比较 , 网络播放系统千人成本 (CMP) 相对较低,只是电视、报纸、电台等媒体的十几分之一 , 节省信息开支

    高频率循环播放:每天长达十多小时的信息播放,给客户深刻印象

    无干扰播放:同一时间无其他竞争信息播放,观看人群无法控制信息播出

    相比起静态的传统广告牌或海报,多媒体视频播放系统更加生动,系统功能能够得到更充分的利用。

    比较传统的电视媒体,网络播放系统具有适合不同显示设备清晰显示的特点,同时也更加适合高清晰数字显示器,充分发挥高清晰数字信息显示的技术优势。

    解决了因模拟传输引起的信号衰减或图像丢帧、不清晰等问题,以及因为线路故障而中断播出的问题,维护方便及时。

    受众群体更有针对性,性价比高,是新一代的信息发布媒体

    播放系统完全基于网络平台,可以通过网络实现传输和管理,让数字媒体显示不再受地域的限制,随时随地发布高清晰视频和多媒体信息
    展开全文
  • DSIS多媒体信息发布系统液晶广告机管理软件根据管理工作需要,依托现有的办公网络,实现值班信息和通知、公告等信息在电子屏发布和客户端的录入,查询。用户通过局域网内的任意一台计算机的IE浏览器,即可登陆系统...
  • “星际多媒体信息发布系统广告机软件”是一款永久免费的数字标牌内容制作软件,用以制作精彩节目在等离子液晶(LCD)平板电视、LED屏、投影设备等多媒体终端播放以及触摸互动应用。
  • 今天,信息的有效传递比任何时候都重要。企业需要向消费者宣传产品;政府需要向市民传达政策法规;车站需要向旅客通知交通...德睿电子利用先进的计算机、网络技术,构建出“德睿多媒体信息发布系统(DMS)”系统,用...
     今天,信息的有效传递比任何时候都重要。企业需要向消费者宣传产品;政府需要向市民传达政策法规;车站需要向旅客通知交通情况;学校需要向学生发布通知等等。户外广告、公告牌、告示栏,甚至黑板报等,都是常见的公共信息传递手段。但是,随着信息传递数量的不断增大,形式日益多样,这些传统的信息公告手段已经渐渐不能适应新的要求。德睿电子利用先进的计算机、网络技术,构建出“德睿多媒体信息发布系统(DMS)”系统,用电视机、显示器等多媒体设备作为平台,实现了绚丽多彩的信息展示效果。
     借助DMS 3.0V,管理人员在信息中心就可以将制作好的各种材料(文字、图片、声音、视频等),通过网络传递到任意地点,通过事先装设好的显示终端(液晶显示器/大屏幕彩电等),以丰富多彩的方式播放出来。相对以往的宣传手段,“数字媒体信息发布系统”实现了信息发布的统一化管理,信息传递快捷、方便,显示效果多样灵活,富有更强的感染力。
     系统的基本特点:
     1、采用TCP/IP协议的计算机网络;局域网、广域网和无线局域网、 ADSL/ISDN等。这样的网络可以让用户随心所欲的将播放器放到网 络可及的任何角落。
     2、网络自修复:当网络中断或无法连接时系统网络修复功能始终处于待命状态,可保证在网络接通的状态下继续任务。
     3、系统采用B/S架构,支持多用户管理方式,用户可自由编辑节目模版,完全自定义操作。
     4、支持监视播放器播出内容、设备状态,并可实现对播放器的便捷控制,包括停止、播放、休眠、唤醒、重启、关机、刷新、修改音量等功能。
     5、支持多种视音频编码标准和图文格式。如: MPEG3/4、 WMV 、WMA、Real 、Flash、JPEG、BMP、GIF、TIFF、Word、Excel、PDF、PPT、TXT、HTML、XML等。
     6、支持多种播出方式,立即播放、定时播放、循环播放、多个播出单的顺序播出、播出单插播、紧急字幕插播等方式,支持节目预约功能。
     7、自定义视频、图片的位置、大小、播放次数、还可以设定字幕的字体、字号、颜色、滚动速度、透明度等信息。
     8、包含传输管理模块,支持对播放器节目下发进行管理,并支持立即传输与定时传输的分发方式,支持查看每个播放器传输列表与节目列表,支持自动重传和断点续传。
     9、包含设备管理模块,支持对播放器的集中管理,支持设置每台播放器的属性和配置参数,支持对播放器参数进行批量设置,支持播放器的分组管理。
    10、用户权限管理,允许为每个用户分配不同功能模块的管理权限,允许为不同用户分配不同的播放器,不同的节目和播放列表。
    11、系统日志,支持查询播出单应用记录、播放器播出记录、节目传输记录、用户登录操作记录等信息。
    12、对于外部数据库系统的接入,如网站、综合数据业务系统等, 可进行业务接口二次开发。
    

    相关案例
    浦东图书馆(新馆),是上海市浦东新区公共图书馆,位于上海市浦东新区前程路88号。新馆坐落于浦东新区文化公园北侧,毗邻中国浦东干部学院以及地铁7号线锦绣路站,地处以世博会主会场和世纪公园为中心形成的上海新文化圈内。
    新馆用地面积约3公顷,总投资8.5亿元,总建筑面积60885平方米,藏书容量约200万册,阅览座位约3000个,预计日接待读者6000人次。新馆建筑造型为纯净、简约、大气的六面体形,分为地下两层和地上六层,建筑总高36米。
    新馆地上六层,由下至上每两层形成一个功能区,共三段,每段约10米高。一层和二层以公共服务与学术交流空间为主,设有公共服务大厅、展览厅,大型演讲厅,中型和小型学术报告厅以及不同规格的读者活动(会议)室、培训教室,还有相对独立的少儿图书馆。三层和四层以普通文献借阅区为主,以大台阶、坡道、书架壁组成跨越三、四层的独特的“书山”空间。五层和六层为专题阅览部以及办公空间,五层设有金融、航运、政策法规(内设公报开放点)、城市治理、教育信息服务、艺术、浦东文献、国际博览、参考文献等专题阅览部,六层整体悬吊犹如“浮云”,安排了音像阅览部和数字化阅览部,以及内部办公区域。
    新馆将着力体现大型城市图书馆的服务能级,成为新区公共图书馆服务网络的枢纽,面向社会的文化教育中心,新区文献收藏中心,服务于浦东地区的公共网络信息导航中心,新区文献信息加工、生产、增值中心,情报信息开发与服务中心,以及浦东新区对外文化交流的重要窗口。
    上海德睿电子科技有限公司针对图书馆的具体情况及图书馆要求,搭建了一套多媒体信息发布系统,通过德睿多媒体信息发布系统,将视音频信号、图片和滚动字幕等多媒体信息通过网络平台传输到显示终端,以高清数字信号播出,能够有效覆盖公共服务大厅、展览厅,大型演讲厅,中型和小型学术报告厅以及不同规格的读者活动(会议)室、培训教室等地点。共设置55个信息发布点,根据不同区域和受众群体,做到分级分区管理,针对性发布信息资讯。
    该系统在工作过程中,凭借等离子电视、液晶电视等显示终端,采用视频、静态广告、图表说明、FLASH动画等播放方式以多区域播放效果及时有效的为读者提供实时图书馆内部通告、学术信息、新书通告、馆藏规则、天气预报等资讯信息;为图书馆内工作人员在办公区域就可以轻松获得最新的会议通知、会议室使用情况、学术报告通知等等。
    此系统完成之后,能够为读者提供更加便捷快速的信息服务,读者在进行借书、还书的过程中,可以充分享受数字化窗口带来的不一样的优质服务,既彰显出现代图书馆的时代气息,也营造了一个高科技的工作氛围,突出表现了图书馆的智能化、信息化。

    更多产品资讯http://www.dory.com.cn
    

    本页关键字:液晶电子门牌、多媒体信息发布系统、网络广告机、多功能电子门牌、数字标牌

    展开全文
  • 多媒体信息发布系统通过网络将中央控制系统与终端播放设备连接,并对所需播放的广告内容进行编辑处理,然后通过网络发送给系统内各个终端播放设备,从而实现大范围多个视频播放终端的同时播放。系统还能对播放内容...
  • 0 引言  多媒体广告是当今企业与消费者交流、展示自我形象的...基于以上原因,我们采用Nios II软核设计了能及时发布户外广告、电子公告的多媒体广告系统。  1 多媒体广告系统所用技术简介  1.1 SOPC技术  SOP
  • 星际多媒体信息发布系统 v3.8 在线版的节目内容包括网页/视频/音频/动画/图片/字幕等多媒体信息,并对播放设备联网集中管理,广泛用于银行、酒店、品牌连锁、大楼、营业厅、地铁、机场、学校等场所,进行营销、服务...
  • 适用于商超、电梯、户外、门店等多种场合的大屏广告统一发布管理系统
  • “星际多媒体信息发布系统(或称数字标牌Digital Signage、电子告示)在线版”是一 款永久免费的数字标牌内容制作软件,用以制作精彩节目在等离子液晶(LCD)平板电视、 LED屏、投影设备等多媒体终端播放以及触摸...
  • 引言  多媒体广告是当今企业与消费者交流、展示自我形象的...基于以上原因,我们采用Nios II软核设计了能及时发布户外广告、电子公告的多媒体广告系统。  1 多媒体广告系统所用技术简介  1.1 SOPC技术  SOPC是
  •  lblTitle.Text = "网络多媒体信息发布系统";  this.WindowState = FormWindowState.Normal;  this.CenterToScreen();  MaxmizeIcon(this.WindowState == FormWindowState.Maximized);  this.imgBtnMedia....

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using Dare.Utilities;
    using System.Diagnostics;
    using System.Runtime.InteropServices;

    namespace DareMediaTray
    {
        public partial class MainFrm : Form
        {
            bool isNormal = true;
            public static bool multiSelect = false;
            public MainFrm()
            {
                this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
                InitializeComponent();
                this.KeyPreview = true;
                this.KeyDown += new KeyEventHandler(MainFrm_KeyDown);
                this.KeyUp += new KeyEventHandler(MainFrm_KeyUp);
               
                this.Text = "网络多媒体信息发布系统";
                lblTitle.Text = "网络多媒体信息发布系统";
                this.WindowState = FormWindowState.Normal;
                this.CenterToScreen();
                MaxmizeIcon(this.WindowState == FormWindowState.Maximized);
                this.imgBtnMedia.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnMedia.MouseOverImage")));
                this.imgBtnSysconfig.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnSysconfig.ButtonImage")));
                this.imgBtnExt.ButtonImage = global::DareMediaTray.Properties.Resources.template_release;
                this.imgBtnAbout.ButtonImage = global::DareMediaTray.Properties.Resources.weather_release;
                this.imgBtnTerminal.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnTerminal.ButtonImage")));
                this.imgBtnProgram.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnProgram.ButtonImage")));
                this.lblCopyright.Text = string.Format("Copyright ? 2002 -{0} Dare-tech. All Rights Reserved",DateTime.Now.Year);
                this.lblVersion.Text = "当前版本:V " + AssemblyUtil.GetAssemblyVersion().ToString();
                this.Closing += new CancelEventHandler(MainFrm_Closing);
            }
            void MainFrm_Closing(object sender, CancelEventArgs e)
            {
                if (MessageBox.Show("确定退出系统吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK)
                {
                    if ("1" == SysconfigFrm.GetAppSettings("CLOSE_APACHE"))
                        Program.ProcessService(Program.ApacheserviceDisplayName, true);
                    Process.GetCurrentProcess().Kill();
                }
                else
                {
                    e.Cancel = true;
                }
            }

            void MainFrm_KeyUp(object sender, KeyEventArgs e)
            {
                multiSelect = false;
            }

            void MainFrm_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.Control == true || e.KeyCode == Keys.ShiftKey)
                {
                    multiSelect = true;
                }
            }
            private void imgBtnMedia_Click(object sender, EventArgs e)
            {
                this.tabControl1.SelectTab("tabPage1");
                this.imgBtnMedia.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnMedia.MouseOverImage")));
                this.imgBtnSysconfig.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnSysconfig.ButtonImage")));
                this.imgBtnExt.ButtonImage = global::DareMediaTray.Properties.Resources.template_release;
                this.imgBtnAbout.ButtonImage = global::DareMediaTray.Properties.Resources.weather_release;
                this.imgBtnTerminal.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnTerminal.ButtonImage")));
                this.imgBtnProgram.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnProgram.ButtonImage")));
            }

            private void imgBtnProgram_Click(object sender, EventArgs e)
            {
                this.tabControl1.SelectTab("tabPage2");
                this.imgBtnProgram.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnProgram.MouseOverImage")));
                this.imgBtnSysconfig.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnSysconfig.ButtonImage")));
                this.imgBtnExt.ButtonImage = global::DareMediaTray.Properties.Resources.template_release;
                this.imgBtnAbout.ButtonImage = global::DareMediaTray.Properties.Resources.weather_release;
                this.imgBtnTerminal.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnTerminal.ButtonImage")));
                this.imgBtnMedia.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnMedia.ButtonImage")));
            }

            private void imgBtnTerminal_Click(object sender, EventArgs e)
            {
                this.tabControl1.SelectTab("tabPage3");
                this.imgBtnTerminal.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnTerminal.MouseOverImage")));
                this.imgBtnSysconfig.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnSysconfig.ButtonImage")));
                this.imgBtnExt.ButtonImage = global::DareMediaTray.Properties.Resources.template_release;
                this.imgBtnAbout.ButtonImage = global::DareMediaTray.Properties.Resources.weather_release;
                this.imgBtnProgram.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnProgram.ButtonImage")));
                this.imgBtnMedia.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnMedia.ButtonImage")));
            }
            private void imgBtnAbout_Click(object sender, EventArgs e)
            {
                this.tabControl1.SelectTab("tabPage4");
                this.imgBtnAbout.ButtonImage = global::DareMediaTray.Properties.Resources.weather_over;
                this.imgBtnSysconfig.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnSysconfig.ButtonImage")));
                this.imgBtnExt.ButtonImage = global::DareMediaTray.Properties.Resources.template_release;
                this.imgBtnTerminal.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnTerminal.ButtonImage")));
                this.imgBtnProgram.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnProgram.ButtonImage")));
                this.imgBtnMedia.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnMedia.ButtonImage")));

                //AboutFrm frm = new AboutFrm();
                //frm.ShowDialog();
            }

            private void imgBtnExt_Click(object sender, EventArgs e)
            {
                this.tabControl1.SelectTab("tabPage5");
                this.imgBtnExt.ButtonImage = global::DareMediaTray.Properties.Resources.template_over;
                this.imgBtnAbout.ButtonImage = global::DareMediaTray.Properties.Resources.weather_release;
                this.imgBtnSysconfig.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnSysconfig.ButtonImage")));
                this.imgBtnTerminal.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnTerminal.ButtonImage")));
                this.imgBtnProgram.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnProgram.ButtonImage")));
                this.imgBtnMedia.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnMedia.ButtonImage")));
         
            }

            private void imgBtnSysconfig_Click(object sender, EventArgs e)
            {
                this.imgBtnSysconfig.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnSysconfig.MouseOverImage")));
                this.imgBtnAbout.ButtonImage = global::DareMediaTray.Properties.Resources.weather_release;
                this.imgBtnExt.ButtonImage = global::DareMediaTray.Properties.Resources.template_release;
                this.imgBtnTerminal.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnTerminal.ButtonImage")));
                this.imgBtnProgram.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnProgram.ButtonImage")));
                this.imgBtnMedia.ButtonImage = ((System.Drawing.Image)(new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)).GetObject("imgBtnMedia.ButtonImage")));
                SysconfigFrm frm = new SysconfigFrm();
                frm.ShowDialog();
            }

            private void btnMin_Click(object sender, EventArgs e)
            {
                this.WindowState = FormWindowState.Minimized;
            }

            private void btnMax_Click(object sender, EventArgs e)
            {
                if (isNormal)
                {
                    isNormal = false;
                   
                    this.FormBorderStyle = FormBorderStyle.None;
                    this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
                    this.WindowState = FormWindowState.Maximized;
                }
                else
                {
                    isNormal = true;
                    this.WindowState = FormWindowState.Normal;
                }
                MaxmizeIcon(this.WindowState == FormWindowState.Maximized);
            }

            private void btnClose_Click(object sender, EventArgs e)
            {
                this.Close();
            }
            public void MaxmizeIcon(bool maximize)
            {
                if (maximize)
                {
                    this.btnMax.ButtonImage = ((System.Drawing.Image)(DareMediaTray.Properties.Resources.max_rease));
                    this.btnMax.MouseClickImage = ((System.Drawing.Image)(DareMediaTray.Properties.Resources.max_rease_over));
                    this.btnMax.MouseOverImage = ((System.Drawing.Image)(DareMediaTray.Properties.Resources.max_rease_over));
                }
                else
                {
                    this.btnMax.ButtonImage = ((System.Drawing.Image)(DareMediaTray.Properties.Resources.max));
                    this.btnMax.MouseClickImage = ((System.Drawing.Image)(DareMediaTray.Properties.Resources.max_over));
                    this.btnMax.MouseOverImage = ((System.Drawing.Image)(DareMediaTray.Properties.Resources.max_over));
                }
            }
            [DllImport("user32.dll")]
            public static extern bool ReleaseCapture();

            [DllImport("user32.dll")]
            public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);

            public const int WM_SYSCOMMAND = 0x0112;//点击窗口左上角那个图标时的系统信息
            public const int SC_MOVE = 0xF010;//移动信息
            public const int HTCAPTION = 0x0002;//表示鼠标在窗口标题栏时的系统信息
            public const int WM_NCHITTEST = 0x84;//鼠标在窗体客户区(除了标题栏和边框以外的部分)时发送的消息
            public const int HTCLIENT = 0x1;//表示鼠标在窗口客户区的系统消息
            public const int SC_MAXIMIZE = 0xF030;//最大化信息
            public const int SC_MINIMIZE = 0xF020;//最小化信息

            private void topPnl_MouseDown(object sender, MouseEventArgs e)
            {
                ReleaseCapture();//首先释放鼠标焦点捕获,这样就不会再发出WM_NCHITTEST消息
                SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);//然后向当前窗体发送消息,消息是移动+表示鼠标在标题栏上

                if (e.Clicks > 1)//模拟双击
                {
                    if (isNormal)
                    {
                        isNormal = false;

                        this.FormBorderStyle = FormBorderStyle.None;
                        this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
                        this.WindowState = FormWindowState.Maximized;
                    }
                    else
                    {
                        isNormal = true;
                        this.WindowState = FormWindowState.Normal;
                    }
                    MaxmizeIcon(this.WindowState == FormWindowState.Maximized);
                    //ReleaseCapture();
                    //SendMessage(this.Handle, WM_SYSCOMMAND, SC_MAXIMIZE + HTCAPTION, 0);

                    //Application.OpenForms["MainFrm"].Focus();
                }
            }
        }
    }

    转载于:https://www.cnblogs.com/fx2008/archive/2011/08/20/2147272.html

    展开全文
  • using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using Dare.DN.Services.EntityServices;...

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using Dare.DN.Services.EntityServices;
    using Dare.DN.Components.Entities.Media;
    using System.IO;
    using System.Threading;
    using Dare.Utilities.Model;
    using System.Xml;
    using Dare.Utilities.Microsoft;
    using Dare.Utilities.IO;

    namespace DareMediaTray
    {
        public partial class MediaImportFrm : Form
        {
            bool isNormal = false;
            MediaInfoService mediaService = Dare.DN.Services.Application.Instance.GetDbService<MediaInfoService>();
            MediaFileInfoService mediaFileService = Dare.DN.Services.Application.Instance.GetDbService<MediaFileInfoService>();
            MediaFolderInfoService folderService = Dare.DN.Services.Application.Instance.GetDbService<MediaFolderInfoService>();
            MediaUC mediaUC;
            Thread[] iThreads = null;
            AutoResetEvent[] iAutoReset = null;
            int folderId = 0;
            string[] mFiles = null;
            BackgroundWorker importBgWorker = null;
            BackgroundWorker bkWork = null;
            //int iCompleted = 0;
            int mCount = 0;
            string mPath = string.Empty;
            //private bool isAbort = false;//是否终止导入任务
            public MediaImportFrm(int fdId, string[] mdFiles, MediaUC mdUC)
            {
                InitializeComponent();
                mediaUC = mdUC;
                folderId=fdId;
                mFiles = mdFiles;
                mCount = mFiles.Length;

                MediaFolderInfo mediaFolderInfo = folderService.Get(folderId);
                if (mediaFolderInfo == null) return;

                mPath = mediaFolderInfo.PhysicalPath;
                this.Text =parentForm1.TitleText= string.Format("{0}媒体导入",mPath);
                this.parentForm1.onCloseEvent += new EventHandler(parentForm1_onCloseEvent);
                this.parentForm1.onMaxEvent += new EventHandler(parentForm1_onMaxEvent);
                this.parentForm1.onMinEvent += new EventHandler(parentForm1_onMinEvent);
                this.parentForm1.onMouseMoveEvent += new EventHandler(Form1_MouseDown);
                this.parentForm1.MaxmizeIcon(this.WindowState == FormWindowState.Maximized);
               
                this.btnSubmit.Click += delegate(object sender, EventArgs e)
                {
                    RestBackWork();
                    this.Close();
                };

                importBgWorker = new BackgroundWorker();
                importBgWorker.DoWork += new DoWorkEventHandler(importBgWorker_DoWork);
                if (!importBgWorker.IsBusy)
                {
                    importBgWorker.RunWorkerAsync();
                }
            }
            private void importBgWorker_DoWork(object sender, DoWorkEventArgs e)
            {
                StartMedia(importBgWorker, e);
            }
            private void StartMedia(BackgroundWorker worker, DoWorkEventArgs e)
            {
               int i = 0;
               iThreads = new Thread[mCount];
               iAutoReset = new AutoResetEvent[mCount];

               Program.ThreadSafe(this, delegate
               {
                   this.lvImport.Items.Clear();
                   this.lvImport.View = View.Details;
                   this.lvImport.GridLines = true;
                   this.lvImport.FullRowSelect = true;
                   this.lvImport.ShowItemToolTips = true;
                   this.btnImport.Enabled = false;
                   this.btnSubmit.Enabled = false;
                   this.lvImport.SmallImageList = imageList1;
               });

               foreach (string file in mFiles)
               {
                    FileInfo fn = new FileInfo(file);
                    Program.ThreadSafe(this, delegate
                    {
                        ListViewItem li = new ListViewItem();
                        li.SubItems[0].Text = fn.Name;
                        li.SubItems.Add(fn.DirectoryName);
                        li.SubItems.Add(new FileSizeData(fn.Length).ToString());
                        li.SubItems.Add("0%");
                        li.SubItems.Add("准备导入!");
                        li.ImageIndex = 1;
                        lvImport.Items.Add(li);
                    });

                    object[] objs = new object[4];
                    objs[0] = file;
                    objs[1] = mPath;
                    objs[2] = folderId;
                    objs[3] = i;

                    iAutoReset[i] = new AutoResetEvent(false);
                    iThreads[i] = new Thread(new ParameterizedThreadStart(MediaImport));
                    if (fn.Length < 10*1024 * 1024)
                        iThreads[i].Priority = ThreadPriority.Highest;
                    iThreads[i].IsBackground = true;
                    iThreads[i].Start(objs);
                    i++;
                }
               WaitAll(iAutoReset);//阻塞信号
               //WaitHandle.WaitAll(IAutoReset);
               foreach (Thread thread in iThreads)
               {
                   thread.Abort();
               }
               iThreads = null;
               Program.ThreadSafe(this, delegate
               {
                   this.btnImport.Enabled = true;
                   this.btnSubmit.Enabled = true;
               });
            }
            /// <summary>
            /// 媒体文件名非法字符过滤
            /// </summary>
            /// <param name="input"></param>
            /// <returns></returns>
            private string RemoveSpecialChar(string input)
            {
                string[] aryChar = { "\"\"", "/", ":", "*", "?", "|", "&lt;", "&gt;", "&quot;", "&amp;", " ", "+", "=", ",", "'", "%", "#", };
                for (int i = 0; i < aryChar.Length; i++)
                {
                    input = input.Replace(aryChar[i], string.Empty);
                }
                return input;
            }
            /// <summary>
            /// 媒体导入方法
            /// </summary>
            /// <param name="obj"></param>
            private void MediaImport(object obj)
            {
                Thread.Sleep(150);
                object[] objs = (object[])obj;
                string file = (string)objs[0];
                string path = (string)objs[1];
                int folderId = (int)objs[2];
                int j = (int)objs[3];

                try
                {
                    if (!File.Exists(file))
                    {
                        Program.ThreadSafe(this, delegate
                        {
                            lvImport.Items[j].SubItems[4].Text = "文件[" + file + "]不存在!";
                            lvImport.Items[j].ImageIndex = 2;
                        });
                    }
                    else
                    {
                        FileInfo fileInfo = new FileInfo(file);
                        MediaFileInfo info = new MediaFileInfo();
                        if (!mediaFileService.AnalyseAndSetMediaFileInfo(info, fileInfo))
                        {
                            Program.ThreadSafe(this, delegate
                            {
                                lvImport.Items[j].SubItems[4].Text = "获取文件[" + file + "]信息失败!";
                                lvImport.Items[j].ImageIndex = 2;
                            });
                        }
                        else
                        {
                            string copyDir = string.Empty;
                            string copyToFile = string.Empty;
                            string retavl = string.Empty;

                            info.Path = path;
                            retavl = mediaService.MediaInfoCheck(info);
                            if (retavl.Length == 0)
                            {
                                copyDir = Path.Combine(Path.Combine(Application.StartupPath, "resource"), path);
                                if (!Directory.Exists(copyDir)) Directory.CreateDirectory(copyDir);

                                //string fName = RemoveSpecialChar(fileInfo.Name);
                                string fName = fileInfo.Name;
                                info.Name = fName;

                                copyToFile = Path.Combine(copyDir, fName);
                                int copyLength = 0;

                                long fLength = fileInfo.Length;
                                using (FileStream stream = File.Open(copyToFile, FileMode.Create, FileAccess.Write))
                                {
                                    using (FileStream fileStream = fileInfo.OpenRead())
                                    {
                                        int btLength = 256 * 1024;//256k
                                        byte[] buffer = new byte[btLength];
                                        int readCount = 0;
                                        while ((readCount = fileStream.Read(buffer, 0, btLength)) > 0)
                                        {
                                            //if (isAbort)
                                            //{
                                            //    File.Delete(copyToFile);
                                            //    break;
                                            //}
                                            int tolPercent = 0;
                                            copyLength += readCount;//已经复制大小
                                            stream.Write(buffer, 0, readCount);
                                            tolPercent = (int)((float)(copyLength / (float)fLength * 100));
                                            Program.ThreadSafe(this, delegate
                                            {
                                                lvImport.Items[j].SubItems[3].Text = tolPercent.ToString() + "%";
                                                lvImport.Items[j].SubItems[4].Text = "正在导入!";
                                            });
                                        }
                                    }
                                }
                             
                                retavl = mediaService.CreateAndSaveAsMediaInfo(folderId, copyToFile, info);
                                if (retavl.Length == 0)
                                {
                                    Program.ThreadSafe(this, delegate
                                    {
                                        lvImport.Items[j].SubItems[4].Text = "成功导入!";
                                        lvImport.Items[j].ImageIndex = 0;
                                        mediaUC.MediaLViewBind(folderId);//刷新父窗体列表
                                    });
                                }
                                else
                                {
                                    Program.ThreadSafe(this, delegate
                                    {
                                        lvImport.Items[j].SubItems[4].Text = retavl;
                                        lvImport.Items[j].ImageIndex = 2;
                                    });
                                }
                            }
                            else
                            {
                                Program.ThreadSafe(this, delegate
                                {
                                    lvImport.Items[j].SubItems[4].Text = retavl;
                                    lvImport.Items[j].ImageIndex = 2;
                                });
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Program.ThreadSafe(this, delegate
                    {
                        lvImport.Items[j].SubItems[4].Text = ex.Message;
                        lvImport.Items[j].ImageIndex = 2;
                    });
                    Dare.DN.Services.Application.Instance.Logger.ErrorFormat("MediaImportFrm-MediaImport-错误原因:{0}", ex.Message);
                }
                iAutoReset[j].Set();
            }
            /// <summary>
            /// 突破64个阻塞线程方法
            /// </summary>
            /// <param name="waitHandles"></param>
            private static void WaitAll(WaitHandle[] waitHandles)
            {
                if (waitHandles == null) throw new ArgumentNullException("阻塞参数非空!");
                foreach (WaitHandle waitHandle in waitHandles)
                {
                    waitHandle.WaitOne();
                }
            }
            private void Form1_MouseDown(object sender, EventArgs e)
            {
                parentForm1.MouseMoveEvent(this.Handle);
            }
            private void parentForm1_onMinEvent(object sender, EventArgs e)
            {
                this.WindowState = FormWindowState.Minimized;
            }

            private void parentForm1_onMaxEvent(object sender, EventArgs e)
            {
                if (isNormal)
                {
                    isNormal = false;
                    this.WindowState = FormWindowState.Normal;
                }
                else
                {
                    isNormal = true;
                    this.WindowState = FormWindowState.Maximized;
                }
                this.parentForm1.MaxmizeIcon(this.WindowState == FormWindowState.Maximized);
            }
            private void parentForm1_onCloseEvent(object sender, EventArgs e)
            {
                //isAbort = true;
                RestBackWork();
                this.Close();
            }
            private void btnClose_Click(object sender, EventArgs e)
            {
                //isAbort = true;
                RestBackWork();
                this.Close();
            }

            protected override void OnClosed(EventArgs e)
            {
                base.OnClosed(e);
            }

            private void RestBackWork()
            {
                if (iThreads != null)
                {
                    foreach (Thread thread in iThreads)
                    {
                        thread.Abort();
                    }
                }
                iThreads = null;
                importBgWorker = null;
                bkWork = null;
            }
            private void btnImport_Click(object sender, EventArgs e)
            {
                RestBackWork();
                string rootPath = Path.GetPathRoot(Application.StartupPath);
                DriveInfo drive = new DriveInfo(rootPath);
                if (drive.AvailableFreeSpace < 1024 * 1024)
                {
                    MessageBox.Show(this, "对不起,当前磁盘[" + rootPath + "]剩余空间[" + new FileSizeData(drive.AvailableFreeSpace).ToString() + "],请清理磁盘空间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                using (OpenFileDialog ofd = new OpenFileDialog())
                {
                    string[] iFiles = null;
                    int rootFolderId=0;
                    rootFolderId = folderService.GetMediaFolderRootParentId(folderId);
                    switch (rootFolderId)
                    {
                        case 1:
                            ofd.Title = "导入audio文件";//resource\audio
                            ofd.Filter = "音频文件(*.wav,*.mp3,*.aac,*.wma)|*.wav;*.mp3;*.aac;*.wma";
                            break;
                        case 2:
                            ofd.Title = "导入background文件";//resource\background
                            ofd.Filter = "背景文件(*.bmp,*.jpg,*.jpeg,*.png,*.gif,*.tif,*.tiff)|*.bmp;*.jpg;*.jpeg;*.png;*.gif;*.tif;*.tiff";
                            break;
                        case 3:
                            ofd.Title = "导入image文件";//resource\image
                            ofd.Filter = "图片文件(*.bmp,*.jpg,*.jpeg,*.png,*.gif,*.tif,*.tiff)|*.bmp;*.jpg;*.jpeg;*.png;*.gif;*.tif;*.tiff";
                            break;
                        case 7:
                            ofd.Title = "导入text文件";//resource\text
                            ofd.Filter = "文本文件(*.txt)|*.txt";
                            break;
                        case 8:
                            ofd.Title = "导入video文件";//resource\video
                            ofd.Filter = "视频文件(*.mpg,*.mpeg,*.vob,*.avi,*.mkv,*.mov,*.mp4,*.flv,*.wmv,*.ts,*.trp)|*.mpg;*.mpeg;*.vob;*.avi;*.mkv;*.mov;*.mp4;*.flv;*.wmv;*.ts;*.trp";
                            break;
                        case 9:
                            ofd.Title = "导入document文件";//resource\text
                            ofd.Filter = "文档文件(*.ppt,*.pptx)|*.ppt;*.pptx";
                            break;
                        default://resource\unknow
                            break;
                    }
                    ofd.Multiselect = true;
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        int maxCount = Dare.DN.Services.Application.Instance.AppSettings.MediaMaxCount;
                        iFiles = ofd.FileNames;
                        if (iFiles.Length > maxCount)
                        {
                            MessageBox.Show(this, string.Format("对不起,一次最多只能导入{0}个媒体文件!", maxCount.ToString()), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }

                        bool isResult = false;
                        foreach (string file in iFiles)
                        {
                            string extName = Path.GetExtension(file).ToLower();
                            if (extName == ".ppt" || extName == ".pptx")
                            {
                                if (!PowerPointHelper.IsPowerPointInstalled())
                                {
                                    isResult = true;
                                    break;
                                }
                            }
                        }

                        if (isResult)
                        {
                            MessageBox.Show(this, "未发现Microsoft PowerPoint 2000及以上版本安装于本机!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }

                        //同名文件集合
                        List<string> listFiles = new List<string>();
                        //无同名文件集合
                        List<string> listNoFiles = new List<string>();
                        foreach (string file in iFiles)
                        {
                            string name = Path.GetFileName(file);
                            //if (mediaService.IsMediaExsit(folderId, RemoveSpecialChar(name)))
                            if (mediaService.IsMediaExsit(folderId, name))
                            {
                                listFiles.Add(name);
                            }
                            else
                            {
                                listNoFiles.Add(file);
                            }
                        }

                        if (listFiles.Count > 0)
                        {
                            string filesShow = string.Empty;
                            filesShow = String.Join("\r\n", listFiles.ToArray());
                            #region
                            //if (MessageBox.Show(this, string.Format("系统已存在下列同名文件:\r\n\r\n{0}\r\n\r\n按【是】全部覆盖,按【否】跳过重复.", filesShow.Length > 200 ? filesShow.Substring(0, 200) + "\r\n............................." : filesShow), "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            //{
                            //    mFiles = iFiles;
                            //}
                            //else
                            //{
                            //    if (listNoFiles.Count > 0)
                            //    {
                            //        mFiles = listNoFiles.ToArray();
                            //    }
                            //    else
                            //    {
                            //        //MessageBox.Show(this, "文件全部重复,没有可跳过项!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information);
                            //        return;
                            //    }
                            //}
                            #endregion
                            MessageBox.Show(this, string.Format("系统已存在下列同名文件:\r\n\r\n{0}\r\n\r\n请更换名称后,再导入.", filesShow.Length > 200 ? filesShow.Substring(0, 200) + "\r\n............................." : filesShow), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        else
                        {
                            mFiles = iFiles;
                        }

                        mCount = mFiles.Length;
                        bkWork = new BackgroundWorker();
                        bkWork.DoWork += new DoWorkEventHandler(bkWork_DoWork);
                        if (!bkWork.IsBusy)
                        {
                            bkWork.RunWorkerAsync();
                        }
                    }
                }
            }

            void bkWork_DoWork(object sender, DoWorkEventArgs e)
            {
                StartMedia(bkWork, e);
            }

            private void importFdMenuItem_Click(object sender, EventArgs e)
            {
                btnImport_Click(sender,e);
            }
        }
    }

    展开全文
  • 静态印刷广告正迅速成为一种过时的媒介,因此数字标牌融合信息发布系统有着相当大的价值,如展示:进出港航班动态信息、旅客须知、气候信息、延误告诉、登机告诉、紧急告诉、别的布告等资讯以及电视娱乐节目、插播...
  • 特别是进入20世纪90年代以来,高清晰度液晶显示、高保真音响、高性能的网络传输及智能化的液晶广告机将高清显示与超强解码功能融为一体,给多媒体信息发布系统赋予了新的内容,使多媒体发布技术迅速推广,全世界已...
  • GPS多媒体报站系统通过无线网络实现多媒体信息和广告信息的发布、更新和播放,车辆定位信息的接收处理,无线通讯等功能。系统包括车载终端部分和服务器软件平台部分,两个部分通过无线网络互联。
  • ETV信息发布盒是一种信息发布终端,配合广告机、LED显示屏或其他显示硬件设备,再加上专业的ETV信息发布系统软件,就可实现各种网络信息的展示。除了硬件和软件之外,还需要与网络互连,让硬件和软件构成一个完整的...
  • 关键字: 多媒体信息发布 智能信息发布 电视屏发布系统 LED LCD 信息发布 多媒体信息发布系统、数字媒体信息发布系统、电子公告、电子公告系统、数字告示、网络广告机、排队叫号系统   系统概述 ...
  • 多媒体触摸查询发布

    2019-03-24 10:54:11
    多媒体触摸查询发布 (数字标牌 ,触摸查询,广告机,联屏发布发布)可以在局域网内发布图片 视频 文档 字幕 ,加一个按钮 可以做成触摸查询导航系统,支持 windows 安卓 双平台 可以按排程进行广告投放,触摸...
  • 53BK多媒体数字报刊系统自从2011年发布之后,目前已有用户100多家,其中有30多家软件公司或网络公司与我们公司合作,合作开发或代理我们的数字报产品。53BK数字报已得到IT行业同仁的广泛认可。 53BK数字报纸系统...
  • MIPS发布系统

    2015-12-14 10:18:05
    多彩传播MIPS多媒体信息发布系统液晶广告机安卓核心板管理软件是利用液晶显示屏将企业宣传、实时通知等全方位展现出来的一种高清多媒体显示技术。系统是将音视频、电视画面、图片、动画、文本、文档、网页、流媒体、...
  • 多媒体数字报刊管理系统是一套基于 B/S 结构的先进、成熟、稳定的企业(学校)报纸上网新产品。它将现行互联网络应用功能与传统报刊及数据库系统完美结合,可以让“原汁原味”的报纸版式通过网络,快捷方便的展现给...
  • 谈到多媒体信息发布系统,你会想到的是什么? 是系统稳定的省心,远程发布的便捷,集群管理的高效,还是切换内容的灵活? 选择系统方案是为了满足显示需求,如果你正在为找不到匹配需求的系统而烦恼,不妨我们来聊聊...
  • 基于BIS-6620高清播放、体积小巧、功耗低、稳定性高等优势,多媒体信息发布系统使用更佳便捷,利用多媒体信息发布系统轮流播放酒店的形象介绍、客房使用情况,餐厅推荐菜、交通指南、机票预订等情况,提供人性化服务...
  • (E-BOX)高清多媒体网络×××(网络信息发布系统)产品介绍 E-BOX信息发布系统是采用嵌入式LINUX技术平台的网络多媒体信息发布系统,该信息发布系统完整的将音视频与网络技术相结合,采用统一集中管理方式,实现完全...
  • 网络广告机俗称digital signage system,是在网络信息化飞速发展的时代背景下产生的一种新型网络多媒体信息发布系统。基于这种系统,用户可以采用多种方式于公共显示终端上发布公共信息内容。目前,数字化、网络化、...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 163
精华内容 65
关键字:

多媒体广告发布系统