程序大作战,萌出一脸血!

非常开心生平所写的第一篇博客就获得了广泛的赞誉,还有幸登上了编辑推荐,看来不仅是程序人生寂静欢喜,博客生涯也是岁月静好啊!在此还是把本人的杰作高挂:《程序人生的寂静欢喜》,高调还是要有的,万一红了呢?你说是吧?

为紫云等地区用户提供了全套网页设计制作服务,及紫云网站建设行业解决方案。主营业务为网站设计、成都做网站、紫云网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

一. 引子

      大家眼里的程序首先是这样的:

  
 
  1. namespace OMCS.Passive{    // 摘要:    //    多媒体设备管理器基础接口。用于管理本地的所有多媒体设备。
  2.     public interface IMultimediaManager : IDisposable    {         //
  3.         // 摘要:        //     是否根据音频反馈以及视频丢帧情况自动调整视频编码质量。
  4.         bool AutoAdjustCameraEncodeQuality { get; set; }        //
  5.         // 摘要:        //     掉线后,是否自动重连。
  6.         bool AutoReconnect { get; set; }        
  7.         //
  8.         // 摘要:        //     语音视频聊天组入口。
  9.         IChatGroupEntrance ChatGroupEntrance { get; }                      //
  10.         // 摘要:        //     是否将话筒采集到的音频输出给Guest。
  11.         bool OutputAudio { get; set; }        //
  12.         // 摘要:        //     是否将桌面图像输出给Guest。默认值为true。
  13.         bool OutputDesktop { get; set; }        //
  14.         // 摘要:        //     是否将摄像头集到的视频输出给Guest。 默认值为true。
  15.         bool OutputVideo { get; set; }        //
  16.         // 摘要:        //     当通道繁忙时,采取的视频帧(来自摄像头)丢弃模型。默认值为DiscardWhenNeed。
  17.         FrameDisardedMode VideoFrameDisardedMode { get; set; }        //             // 摘要:        //     刚刚从话筒采集的音频帧。
  18.         event CbGeneric AudioCaptured;        //
  19.         // 摘要:        //     刚刚播放的音频帧。
  20.         event CbGeneric AudioPlayed; //
  21.         // 摘要:        //     与多媒体服务器建立连接,并初始化本地多媒体管理器。 如果与服务器连接失败,将抛出网络异常。      
  22.         void Initialize(string userID, string password, string serverIP, int serverPort);              //
  23.         // 摘要:        //     和目标用户之间是否打通了P2P通道?     
  24.         bool IsP2PChannelExist(string destUserID);    }}

      可是你并不会知道他们在我眼里其实是这样的——

二.程序大作战

     1.所谓的:“  OMCS 多媒体管理器,用于管理本地的所有多媒体设备。” 其实就是这个意思:

   

      2.所谓的布尔类型的属性,其实就是一个个开关嘛,像这样:

   

  2.所谓方法,其实就是一个个按钮,就像这样:

   

  2.所谓事件,其实就是一个个插槽,就像这样:

 

  2.所谓的布尔类型的只读属性,其实就是一个个指示灯,就像这样:

 

 2.另外四个连接器可以就像这样:

 

二.萌出一脸血

       最后,将这个零件全部组装起来,就成为了一个 OMCS 客户端了。是不是很萌呢?只要我们调整这些开关,控制这些按钮,外接这些插槽,并观察指示灯的变化,就可以将“阿童木”胸前的多媒体连接器发射出去,连接到远程机器上的多媒体设备了!

       运用形象化的思维,我们可以把原本很抽象枯燥,条分缕析的代码,变得鲜活、生动而又富有趣味,大家在理解程序的时候也可以借鉴一下哦。

网站标题:程序大作战,萌出一脸血!
URL分享:http://www.csdahua.cn/qtweb/news4/551654.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网