用了3天时间,将DShow加入到了游戏中,记录下心得,方便要使用的童鞋以及以后的自己查看。
1. Video Mixing Renderer 9,内部使用Direct3D 9,需要Windows XP或更高的操作系统。游戏用户基本100%满足这个条件,因此我选择它作为过滤器。
2. Video Mixing Renderer 9 支持的渲染模式为Windowed, Windowless以及Renderless。推荐使用Windowless,这样就不需要像使用Windowed那样用IVideoWindow来设置Windows消息流向,绑定父窗口等等。但是,必须对WM_PAINT, WM_DISPLAYCHANG以及WM_SIZE(或WM_WINDOWPOSCHANGED)进行处理。
3. Video Mixing Renderer 9不支持真全屏,也就是D3D独占模式(在我使用的过程中,独占模式只有声音,没有图像)。一种解决方案是使用Renderless渲染模式,但是需要自己写图像过滤器。另一种方案就是在播放视频时使用伪全屏,之后再切换到真全屏。
4. 在真全屏时我尝试使用Windowed模式来创建一个伪全屏窗口,在单显示器的情况下,这种方案可以工作。但在多显示器的情况下,当焦点切换到另一个显示器时,视频窗口会被自动调整,导致不再是伪全屏。 

DirectShow使用心得的更多相关文章

  1. 利用 DirectShow 开发自己的 Filter

    学习directshow已经有几天了,下面将自己的学习心得写下来,希望对其他的人有帮助. Filter实质是个COM组件,所以学习开发Filter之前你应该对com的知识有点了解.Com组件的实质是一 ...

  2. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  3. NoSql数据库使用半年后在设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

  4. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  6. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  7. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  8. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  9. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. Python的程序结构[2] -> 类/Class[1] -> 基类与继承

    基类与继承 / Base Class and Inheritance Class 面向对象的特性使得 Python 中不可避免地需要使用到类和类的继承,类的继承可以使得代码很好的被重用.下面以一些代码 ...

  2. 洛谷——P2640 神秘磁石

    P2640 神秘磁石 题目背景 在遥远的阿拉德大陆,有一种神秘的磁石,是由魔皇制作出来的, 题目描述 1.若给他一个一维坐标系,那么他的磁力一定要在素数坐标的位置上才能发挥的最大(不管位置坐标的大小, ...

  3. Matrix.LookAtLH()和Matrix.LookAtRH()所表达的涵义

    function lookAtLH(eye:Vector3D, at:Vector3D, up:Vector3D) 一个摄像机矩阵可有由三个部分组成:摄像机位置.目标位置以及摄像机上下方.对应的就是上 ...

  4. android intent打开各种文件的方法

    android intent打开各种文件的方法   1./**  * 检测是否安装了某个软件  *   * @param pkgName "com.bill99.kuaishua" ...

  5. Microsoft Office Excel 2007 使用笔记

    1.显示表格边框: 选择要显示边框的单元格,点击“开始”选项卡中的“边框”图标,选中下拉框中的“所有框线” 2.单元格内,文字自动换行: 点击“开始”选项卡中的“自动换行”按钮 3.单元格内,文字手动 ...

  6. 提高MSSQL数据库性能(1)对比count(*) 和 替代count(*)

    原文:提高MSSQL数据库性能(1)对比count(*) 和 替代count(*) 文章准备的数据库: Atricles 表   数据量60690000条数据 ArticleID 主键自增列+自动建立 ...

  7. What is a fully qualified domain name (FQDN)?

    fully qualified domain name (FQDN) is the complete domain name for a specific computer, or host, on ...

  8. jmeter 部署问题。

    -D  systemproperty 1.双网卡机器设置 执行 jmeter-server  -Djava.rmi.server.hostname=189.61.143.199 2.在Beanshel ...

  9. Android ToolBar 使用完全解析

    ToolBar简介 ToolBar是Android 5.0推出的一个新的导航控件用于取代之前的ActionBar,由于其高度的可定制性.灵活性.具有Material Design风格等优点,越来越多的 ...

  10. UIViewController的生命周期及iOS程序运行顺序

    当一个视图控制器被创建,并在屏幕上显示的时候. 代码的运行顺序 1. alloc                                   创建对象,分配空间 2.init (initWit ...