用DirectShow实现音视频文件的播放
2009-08-25 22:22
344 查看
现在的Windows对多媒体文件暴露的API一般都转向原来DirectX方式的。DirectShow原来是DirectX中的组件,现在已经转移到Windows SDK的组件了。用它来实现多媒体文件的播放与操作具有很好的性能。下面的代码示例就用它播放一个".wav"文件,如果是.wmv, .avi文件,则会自动跳出播放窗口进行对视频的播放。
上面编译运行后,需要加 strmiids.lib库进行链接。
具体内容可以参考SDK文档
#include<windows.h> #include<dshow.h> void main(){ CoInitialize(NULL); //因为要使用COM组件,所以要初始化 IGraphBuilder *pGraph=NULL; //核心接口 CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void**)&pGraph); IMediaControl *pCtrl=NULL; //用于控制媒体流的接口 IMediaEvent *pEvent=NULL; //触发媒体流事件,如播放结束等 pGraph->QueryInterface(IID_IMediaControl, (void**)&pCtrl); pGraph->QueryInterface(IID_IMediaEvent, (void**)&pEvent); pGraph->RenderFile(L"C://WINDOWS//Media//tada.wav", NULL); pCtrl->Run(); long eCode; pEvent->WaitForCompletion(INFINITE, &eCode); pEvent->Release(); pCtrl->Release(); pGraph->Release(); CoUninitialize(); }
上面编译运行后,需要加 strmiids.lib库进行链接。
具体内容可以参考SDK文档
相关文章推荐
- 用DirectShow实现音视频文件的播放
- 如何实现wireshark抓包视频数据文件的正常播放
- C#使用DirectShow播放视频文件 [转]
- 利用DirectShow实现对视频文件H264编码与解码基类
- 网页嵌入快播播放器并实现服务器视频文件连续播放
- 快捷键实现启动指定播放器播放指定路径视频文件
- 利用DirectShow实现对视频文件H264编码与解码基类
- 如何实现videoView的自动连续播放视频文件
- 利用DirectShow实现对视频文件H264编码与解码基类 2
- 网页嵌入快播播放器并实现服务器视频文件连续播放
- Directshow+WMF(Windows Media Format)实现无缝播放视频
- 怎样在EVC4.0下编程实现音频和视频文件的的播放
- html5结合flash实现视频文件在所有主流浏览器兼容播放
- Android模拟器中实现音、视频文件的断点播放
- 利用DirectShow实现对视频文件H264编码与解码基类
- html制作简单框架网页二 实现自己的影音驿站 操作步骤及源文件下载 (可播放mp4、avi、mpg、asx、swf各种文件的视频播放代码)
- 利用DirectShow实现对视频文件H264编码与解码基类 3
- html5结合flash实现视频文件在所有主流浏览器兼容播放
- 用DirectShow,在vc下播放音视频文件
- 利用DirectShow实现对视频文件H264编码与解码基类 2