A simple DirectShow example
来源:互联网 发布:工资管理系统数据库 编辑:程序博客网 时间:2024/05/16 11:02
#include <dshow.h>
#include "stdio.h"
#pragma comment(lib,"strmiids.lib")
void main(void)
...{
IGraphBuilder *pGraph = NULL;
IMediaControl *pControl = NULL;
IMediaEvent *pEvent = NULL;
// 初始化COM库
HRESULT hr = CoInitialize(NULL);
if (FAILED(hr))
...{
printf("ERROR - Could not initialize COM library");
return;
}
// 创建筛选器表管理器,并查询接口
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
if (FAILED(hr))
...{
printf("ERROR - Could not create the Filter Graph Manager.");
return;
}
hr = pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl);
hr = pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
// 创建表。
hr = pGraph->RenderFile(L"C:/aa.mp3", NULL);
if (SUCCEEDED(hr))
...{
// 运行表
hr = pControl->Run();
if (SUCCEEDED(hr))
...{
// 等待结束
long evCode;
pEvent->WaitForCompletion(INFINITE, &evCode);
// 注意:在实际应用程序中不要使用INFINITE
// 因为它对应用程序的阻塞很不确定
}
}
pControl->Release();
pEvent->Release();
pGraph->Release();
CoUninitialize();
}
#include "stdio.h"
#pragma comment(lib,"strmiids.lib")
void main(void)
...{
IGraphBuilder *pGraph = NULL;
IMediaControl *pControl = NULL;
IMediaEvent *pEvent = NULL;
// 初始化COM库
HRESULT hr = CoInitialize(NULL);
if (FAILED(hr))
...{
printf("ERROR - Could not initialize COM library");
return;
}
// 创建筛选器表管理器,并查询接口
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
if (FAILED(hr))
...{
printf("ERROR - Could not create the Filter Graph Manager.");
return;
}
hr = pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl);
hr = pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
// 创建表。
hr = pGraph->RenderFile(L"C:/aa.mp3", NULL);
if (SUCCEEDED(hr))
...{
// 运行表
hr = pControl->Run();
if (SUCCEEDED(hr))
...{
// 等待结束
long evCode;
pEvent->WaitForCompletion(INFINITE, &evCode);
// 注意:在实际应用程序中不要使用INFINITE
// 因为它对应用程序的阻塞很不确定
}
}
pControl->Release();
pEvent->Release();
pGraph->Release();
CoUninitialize();
}
- A simple DirectShow example
- a simple ajax example
- A simple wxPython example
- A simple GetOpenFileName example
- A simple makefile example
- A simple JNI example
- a simple example rabbitMQ
- coding with a simple example
- A Simple Quartz/Spring Example
- A Simple Session Establishment Example
- VPython - example - A simple Clock
- A very simple CTransInPlaceFilter example
- A simple libpng example program
- SIP:A Simple Session Establishment Example
- a simple example of Ado.net
- A simple example for test case--triangle
- [旧文] A simple makefile example
- VPython - example - A simple ball acceleration
- 雅虎董事会给了微软首席执行官鲍尔默一个响亮的回答
- 字符串分拆查询
- 男人必须明白的18个道理
- Unix文件系统研究: 3. 链接
- 关于日期天数计算的几个函数!
- A simple DirectShow example
- 什么样的女人是男人值得一辈子去珍惜的女人
- SQL模拟达芬奇密码中文站首页数字游戏
- 美国职业生涯规划与时间管理专家Brian Tracy
- 防盗器主机的原理与修理
- 随机选择表格里的行
- Unix文件系统研究: 4. 文件类型 用户权限
- 分拆统计字符串
- MINFO-印度铁矿资源矿物信息原型