DirectShow之接口实战篇(一)

本文介绍了使用DirectShow接口而非MediaPlay控件进行多媒体播放工具开发的优势,强调了DirectShow接口资源的稀缺性,特别是针对Delphi开发者的实战教程。文章列举了常用DirectShow接口,并承诺通过一个简单的媒体播放器实例,让读者了解并掌握这些接口的使用,以实现功能强大的播放器。
摘要由CSDN通过智能技术生成

DirectShow之接口实战篇(一)

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

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

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开发一般常用的步骤。

                                                  未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值