DirectShow之接口实战篇(一)

原创 2003年05月22日 08:40:00

DirectShow之接口实战篇(一)

现今自己编程做一个多媒体播放工具是一件很令人开心愉悦的事情,但如果使用MediaPlay控件开发则会受到很多限制,自己的很多好的创意想法都无法或者很难实现,如果利用微软的DirectX接口开发则可以充分的将作者的独特想法付诸于实现,何乐而不为呢!!不过关于DirectShow接口的开发说明文档实在是少之又少,仅有的一些不是英文的就是一些关于理论方面的,真正关于接口实战编程而且是用Delphi开发工具实现的更是凤毛麟角,使很多人都望而却步。在这里,我把我应用Directshow开发的心得以及我搜集到一些资料重新整理编辑出来公布,希望对所有由此兴趣的同仁有所帮助,就算达到了我的目的。废话少说,进入正文。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    既然是接口实战篇,就先把一些常用的接口列出来,让大家有一些基本的认识,都是用来做什么的,什么时候我们会需要用到此接口。

IFilterGraph 过滤通道接口
IFilterGraph2 增强的IFilterGraph
IGraphBuilder

最为重用的COM接口,用于手动或者自动构造过滤通道Filter Graph Manager

IMediaControl 用来控制流媒体,例如流的启动和停止暂停等,播放控制接口
IMediaEvent 播放事件接口 ,该接口在Filter Graph发生一些事件时用来创建事件的标志信息并传送给应用程序
IMediaEventEx 扩展播放事件接口
IMediaPosition 播放的位置和速度控制接口(控制播放位置只能为设置时间控制方式)
IMediaSeeking

另一个播放的位置和播放速度控制接口,在位置选择方面功能较强.设置播放格式,多种控制播放方式.常用的有:(1)TIME_FORMAT_MEDIA_TIME单位100纳秒。(2)TIME_FORMAT_FRAME按帧播放

IBasicAudio 声音控制接口
IBasicVideo 图像控制接口(波特率,宽度,长度等信息)
IVideoWindow 显示窗口控制接口 (有关播放窗口的一切控制,包括caption显示,窗口位置控制等)
ISampleGrabber 捕获图象接口(可用于抓图控制)
IVideoFrameStep 控制单帧播放的接口

    好了,熟悉了应用DirectShow应用开发常用的接口后,我们就通过一个实例媒体播放器来熟悉掌握这些接口,实例的代码虽然简单,但五脏俱全,功能强大,同时也了解一下应用DirectShow开发一般常用的步骤。

                                                  未完待续

DirectShow之接口实战篇、

现今自己编程做一个多媒体播放工具是一件很令人开心愉悦的事情,但如果使用MediaPlay控件开发则会受到很多限制,自己的很多好的创意想法都无法或者很难实现,如果利用微软的DirectX接口开发则可以充...
  • zhang_zxk
  • zhang_zxk
  • 2016年06月26日 19:20
  • 94

DirectShow之接口实战篇

现今自己编程做一个多媒体播放工具是一件很令人开心愉悦的事情,但如果使用MediaPlay控件开发则会受到很多限制,自己的很多好的创意想法都无法或者很难实现,如果利用微软的DirectX接口开发则可以充...
  • ccx_john
  • ccx_john
  • 2013年10月29日 13:49
  • 732

DirectShow之接口实战篇(三)

DirectShow之接口实战篇(三)播放速度的设定需要使用ImediaPosition的方法。MediaPosition.put_Rate(1);//正常MediaPosition.put_Rate...
  • u2m
  • u2m
  • 2003年05月22日 08:39
  • 872

DirectShow之接口实战篇_多媒体播放器

今自己编程做一个多媒体播放工具是一件很令人开心愉悦的事情,但如果使用MediaPlay控件开发则会受到很多限制,自己的很多好的创意想法都无法或者很难实现,如果利用微软的DirectX接口开发则可以充分...
  • langyifei
  • langyifei
  • 2008年05月23日 17:56
  • 2192

DirectShow之接口实战篇(二)

DirectShow之接口实战篇(二) 大体说来,一般使用DirectShow接口编程无非3个步骤,初始化接口,利用接口中的控制函数使用控制操作,最后释放接口。(当然这里假定你已经拥有了directs...
  • u2m
  • u2m
  • 2003年05月19日 21:30
  • 1005

转载--DirectShow之接口实战篇

既然是接口实战篇,就先把一些常用的接口列出来,让大家有一些基本的认识,都是用来做什么的,什么时候我们会需要用到此接口。 IFilterGraph 过滤通道接口 IFilterGraph2 ...
  • Happylss
  • Happylss
  • 2010年06月09日 09:18
  • 546

spring-boot实战:shiro

有很长一段时间都觉得自己添加个filter,基于RBAC模型,就能很轻松的实现权限控制,没必要引入shiro,spring-security这样的框架增加系统的复杂度。事实上也的确这样,如果你的需求仅...
  • u014411966
  • u014411966
  • 2017年10月02日 15:43
  • 136

39 Spring Boot Shiro权限管理【从零开始学Spring Boot】

这个章节牵涉到知识点比较多,具体参考如下教程: 39.4 Spring Boot Shiro权限管理【从零开始学Spring Boot】   39.3 Spring Boot Shiro权限管理...
  • linxingliang
  • linxingliang
  • 2016年08月20日 21:59
  • 2076

【备忘】JavaEE系统架构师学习路线之实战篇

1初级篇         J2SE的Socket网络编程应用         J2SE的反射机制高级应用         J2SE高深讲解         JAVA编程思想 初级教程[MP4]...
  • nkkn1234
  • nkkn1234
  • 2016年11月20日 22:10
  • 672

DirectShow之接口实战篇--视频抓图与播放控制

DirectShow之接口实战篇(一)-----------------------------------------------    现今自己编程做一个多媒体播放工具是一件很令人开心愉悦的事情,...
  • enginetanmary
  • enginetanmary
  • 2009年12月03日 10:53
  • 2153
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DirectShow之接口实战篇(一)
举报原因:
原因补充:

(最多只允许输入30个字)