2013年10月14日

仿迅雷播放器教程 -- 媒体播放器对比 (2)

摘要: 既然Alberl想做播放器,又不想用ffmpeg的话,该怎么办呢?还记得ffmpeg给出的上百款多媒体相关的工程吗?这年头不怕没选择,就怕选择多,让Alberl去对比那些项目,还不如... Alberl一向比较懒,一向觉得这事肯定有大神们做过千百遍了,这不,果然如此:来源:下表比较了一些常见媒体播放器程序的一般技术信息. 参见各个产品的独立条目了解更详细信息. 外部连接包括了这些媒体播放器的插件和扩展程序.目录 [隐藏]1 概况2 操作系统支持3 功能4 协议支持5 音频格式支持6 视讯格式支持7 容器格式支持8 光盘格式支持9 元数据格式支持10 字幕支持11 音乐为主11.1 视频... 阅读全文

posted @ 2013-10-14 21:29 Alberl 阅读(8528) 评论(1) 推荐(3) 编辑

仿迅雷播放器教程 -- 基于ffmpeg的C++播放器 (1)

摘要: 2011年12月份的时候发了这篇博客http://blog.csdn.net/qq316293804/article/details/7107049,博文最后说会开源一个播放器,没想到快两年了,才有时间发博客。 两年前的博客和大部分博客一样,以结果为主,也就是开源一个软件,直接把代码一扔,效果图一截,发一篇介绍性的博客就完事,里面没有任何技术分析。而Alberl在学习的过程中,虽然找到的绝大部分资料也都是这种类型的,帮助也很大,但还是感觉缺点什么。这就是Alberl喜欢CodeProject的原因,因为几乎每一篇文章都提供了以下资料:1、源码下载。 2、使用教程、3、技术分析。 这样不管... 阅读全文

posted @ 2013-10-14 21:21 Alberl 阅读(20708) 评论(16) 推荐(6) 编辑

2013年10月6日

2013 duilib入门简明教程 -- 总结 (20)

摘要: duilib的入门系列就到尾声了,再次提醒下,Alberl用的duilib版本是SVN上第387个版本,时间是2013.08.15~这里给出Alberl最后汇总的一个工程,戳我下载,效果如图:2013 duilib入门教程汇总:2013 duilib入门简明教程 -- 前言(1)2013 duilib入门简明教程 -- VS环境配置(2)2013 duilib入门简明教程 -- 第一个程序 Hello World(3)2013 duilib入门简明教程 -- 响应按钮事件(4)2013 duilib入门简明教程 -- 自绘标题栏(5)2013 duilib入门简明教程 -- XML配置界面(6 阅读全文

posted @ 2013-10-06 18:55 Alberl 阅读(63943) 评论(35) 推荐(18) 编辑

2013 duilib入门简明教程 -- FAQ (19)

摘要: 虽然前面的教程几乎把所有的知识点都罗列了,但是有很多问题经常在群里出现,所以这里再次整理一下。需要注意的是,在下面的问题中,除了加上XML属性外,主窗口必须继承自WindowImplBase,才能够有效果,因为这个类帮我们处理了非常多的常用操作,如果想自己处理,请参见WindowImplBase的代码。1、怎么设置标题栏区域?只需在XML的Window节点加上caption="0,0,0,32"即可,其中32是指从窗口顶部开始,往下32个像素的区域,都设置成标题栏,这样就可以点击标题栏拖动窗口,或者双击最大化了。 不过可以发现有些Demo的标题栏文字区域不能拖动,比如360 阅读全文

posted @ 2013-10-06 17:16 Alberl 阅读(15988) 评论(5) 推荐(0) 编辑

2013 duilib入门简明教程 -- 其他 (18)

摘要: 一、超链接按钮代码很简单,参见360Demo: 这里只需要加上showhtml="true",然后在text属性里写类html代码就可以了,不过duilib只支持小部分html代码,具体的格式请参见Demo以及源码~二、支持html由于html非常方便,所以duilib也提供了部分支持,上面的超链接按钮就是使用html来表示,在360Demo里面有大量的html支持,详情请参阅Demo,效果如图:三、改变字体前面介绍了Default属性,属于全局属性,而字体也是全局属性,也是定义到一级子节点。 序号从0开始,上述顺序中,第0个字体就是name为【20号字体】的字体,所以如果 阅读全文

posted @ 2013-10-06 16:45 Alberl 阅读(18024) 评论(9) 推荐(0) 编辑

2013年10月5日

2013 duilib入门简明教程 -- 事件处理和消息响应 (17)

摘要: 界面的显示方面就都讲完啦,下面来介绍下控件的响应。前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理。其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEGIN_MESSAGE_MAP,可以将DUI_MSGTYPE_CLICK消息映射到指定的函数(比如OnClick),这和在Notify判断msg.sType是一样的效果,具体请参见duilib的RichListDemo。 先看看下面几段代码:DUI_BEGIN_MESSAGE_MAP(CPage1, CNotifyPump) DUI_ON_MSGTYPE(DUI_MSGTYPE_CLICK,OnClick) ... 阅读全文

posted @ 2013-10-05 21:46 Alberl 阅读(28627) 评论(1) 推荐(1) 编辑

2013 duilib入门简明教程 -- 结合win32和MFC (16)

摘要: 虽然duilib自带在MFC中使用duilib的Demo,但只是MFC窗口和duilib窗口不重叠的情况。如果要在MFC窗口中嵌入duilib控件,或者在duilib控件中嵌入MFC的控件的话,就没有Demo可以看了,其实Alberl开始也不知道怎么办,看了下ActiveXUI控件,这个就是结合HWND的,但是由于接触duilib不久,所以一时无法看懂ActiveXUI到底是怎么将win32的HWND画上去的,只好在群里问啦,多谢铅笔群的Troy大神指导:当时解决完之后上传了代码,不过还是有网友看不懂,于是昨晚要求Alberl先写duilib结合MFC的教程,当然啦,这个教程本来就在Alber 阅读全文

posted @ 2013-10-05 18:39 Alberl 阅读(35146) 评论(17) 推荐(1) 编辑

2013 duilib入门简明教程 -- 自绘控件 (15)

摘要: 在【2013 duilib入门简明教程 -- 复杂控件介绍 (13)】中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如菜单控件)。虽然duilib没有提供这些控件,但是自己绘制起来也是非常方便的,不过duilib的自绘可比MFC方便得不止一点点了,其实duilib的自绘大都不用自己绘制,就是一些控件和图片的组合而已,相当简单方便~~~一、菜单控件其实菜单控件的外观和ListBox非常像,所以我们可以用教程13的ListBox控件模拟,也可以自行用其他的组合,由于duilib自带的Demo里有两个Menu,而且样式还很不错 阅读全文

posted @ 2013-10-05 15:31 Alberl 阅读(36970) 评论(10) 推荐(2) 编辑

2013 duilib入门简明教程 -- 部分bug 2 (14)

摘要: 上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口都用new生成,_tWinMain改为下面这样:int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){ CPaintManagerUI::SetInstance(hInstance); HRESULT Hr = ::CoInitialize(NULL); if( F... 阅读全文

posted @ 2013-10-05 09:29 Alberl 阅读(19178) 评论(5) 推荐(1) 编辑

2013年9月29日

2013 duilib入门简明教程 -- 复杂控件介绍 (13)

摘要: 首先将本节要介绍的控件全部拖到界面上,并调整好位置,如图: 然后将Name属性改成其他名字,不能是【控件名+UI+数字】这种,因为这是DuiDesigner默认的名字,它不会实际写入到XML,所以如果控件的名字被取成ActiveXUI1、ActiveXUI2、ButtonUI1这种格式的话,Name属性会被忽略,可以看到XML是没有Name属性的:所以我们必须给它们指定其他的名字,这里格式统一为【控件名+Demo+数字】,如图: XML如下(删除了暂时没用到的属性,删除了标题栏区域,要关闭窗口请按Esc或者在任务栏右键关闭): ... 阅读全文

posted @ 2013-09-29 01:41 Alberl 阅读(51015) 评论(22) 推荐(3) 编辑

导航