现在用什么播放视频最合适? 问题见题目 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to xx_jj():你使用过吗? directshowhttp://ms.mblogger.cn/eyes4http://www.mblogger.cn/ms.mblogger.cn/eyes4/archive/102004.htm BOOL CNDirectShow::Initialize(){ HRESULT hr = S_OK; hr = SUCCEEDED(hr) ? ::CoInitialize(NULL) : hr; // ´´½¨Filter Graph Manager hr = SUCCEEDED(hr) ? ::CoCreateInstance( CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&m_pGraph) : hr; // »ñÈ¡¿ØÖÆ½Ó¿Ú hr = SUCCEEDED(hr) ? m_pGraph->QueryInterface( IID_IMediaControl, (void **)&m_pControl) : hr; // »ñȡʼþ½Ó¿Ú hr = SUCCEEDED(hr) ? m_pGraph->QueryInterface( IID_IMediaEvent, (void **)&m_pEvent) : hr; //* --²âÊÔÓà m_pGraph->RenderFile( L"K:\\video\\A2.MPG", NULL); if (SUCCEEDED(hr)) { // Run the graph. hr = m_pControl->Run(); if (SUCCEEDED(hr)) { // Wait for completion. long evCode; m_pEvent->WaitForCompletion(INFINITE, &evCode); // Note: Do not use INFINITE in a real application, because it // can block indefinitely. } } return SUCCEEDED(hr);}BOOL CNDirectShow::Release(){ SAFE_RELEASE(m_pControl); SAFE_RELEASE(m_pEvent); SAFE_RELEASE(m_pGraph); CoUninitialize(); return TRUE;} BOOL CNDirectShow::Initialize(){ HRESULT hr = S_OK; hr = SUCCEEDED(hr) ? ::CoInitialize(NULL) : hr; // 创建Filter Graph Manager hr = SUCCEEDED(hr) ? ::CoCreateInstance( CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&m_pGraph) : hr; // 获取控制接口 hr = SUCCEEDED(hr) ? m_pGraph->QueryInterface( IID_IMediaControl, (void **)&m_pControl) : hr; // 获取事件接口 hr = SUCCEEDED(hr) ? m_pGraph->QueryInterface( IID_IMediaEvent, (void **)&m_pEvent) : hr; //* --测试用 m_pGraph->RenderFile( L"K:\\video\\A2.MPG", NULL); if (SUCCEEDED(hr)) { // Run the graph. hr = m_pControl->Run(); if (SUCCEEDED(hr)) { // Wait for completion. long evCode; m_pEvent->WaitForCompletion(INFINITE, &evCode); // Note: Do not use INFINITE in a real application, because it // can block indefinitely. } } return SUCCEEDED(hr);}BOOL CNDirectShow::Release(){ SAFE_RELEASE(m_pControl); SAFE_RELEASE(m_pEvent); SAFE_RELEASE(m_pGraph); CoUninitialize(); return TRUE;} 谢谢各位,尤其谢谢wangjia184(我就是传说中的SB) 用wangjia184的代码测试播放wmv文件成功。 ping程序发送失败 为什么桌面的路径和注册表的不一致 (Netman)的软件 学习Direct3D和OpenGL哪个更好一些,更有前途一些? 要编一个多媒体播放器,急需一个ActiveMovieControlObject控件 在MFC写的进程内COM服务器里,能显示对话框么? VC++6.0中文版的问题? 简单问题:关于非MFC程序的按钮控件 如何在一个程序中插入在其他程序中已经有的对话框资源??? vc中有分割字符串的函数吗??? DAO问题,100分求助 如何用程序取得路由器上的外网连接IP?
你使用过吗?
http://ms.mblogger.cn/eyes4
http://www.mblogger.cn/ms.mblogger.cn/eyes4/archive/102004.htm
{
HRESULT hr = S_OK; hr = SUCCEEDED(hr) ?
::CoInitialize(NULL)
: hr; // ´´½¨Filter Graph Manager
hr = SUCCEEDED(hr) ?
::CoCreateInstance( CLSID_FilterGraph,
NULL,
CLSCTX_INPROC_SERVER,
IID_IGraphBuilder,
(void **)&m_pGraph)
: hr; // »ñÈ¡¿ØÖƽӿÚ
hr = SUCCEEDED(hr) ?
m_pGraph->QueryInterface( IID_IMediaControl,
(void **)&m_pControl)
: hr; // »ñȡʼþ½Ó¿Ú
hr = SUCCEEDED(hr) ?
m_pGraph->QueryInterface( IID_IMediaEvent,
(void **)&m_pEvent)
: hr;
//* --²âÊÔÓÃ
m_pGraph->RenderFile( L"K:\\video\\A2.MPG", NULL); if (SUCCEEDED(hr))
{
// Run the graph.
hr = m_pControl->Run();
if (SUCCEEDED(hr))
{
// Wait for completion.
long evCode;
m_pEvent->WaitForCompletion(INFINITE, &evCode); // Note: Do not use INFINITE in a real application, because it
// can block indefinitely.
}
} return SUCCEEDED(hr);}BOOL CNDirectShow::Release()
{
SAFE_RELEASE(m_pControl);
SAFE_RELEASE(m_pEvent);
SAFE_RELEASE(m_pGraph);
CoUninitialize(); return TRUE;
}
{
HRESULT hr = S_OK; hr = SUCCEEDED(hr) ?
::CoInitialize(NULL)
: hr; // 创建Filter Graph Manager
hr = SUCCEEDED(hr) ?
::CoCreateInstance( CLSID_FilterGraph,
NULL,
CLSCTX_INPROC_SERVER,
IID_IGraphBuilder,
(void **)&m_pGraph)
: hr; // 获取控制接口
hr = SUCCEEDED(hr) ?
m_pGraph->QueryInterface( IID_IMediaControl,
(void **)&m_pControl)
: hr; // 获取事件接口
hr = SUCCEEDED(hr) ?
m_pGraph->QueryInterface( IID_IMediaEvent,
(void **)&m_pEvent)
: hr;
//* --测试用
m_pGraph->RenderFile( L"K:\\video\\A2.MPG", NULL); if (SUCCEEDED(hr))
{
// Run the graph.
hr = m_pControl->Run();
if (SUCCEEDED(hr))
{
// Wait for completion.
long evCode;
m_pEvent->WaitForCompletion(INFINITE, &evCode); // Note: Do not use INFINITE in a real application, because it
// can block indefinitely.
}
} return SUCCEEDED(hr);}BOOL CNDirectShow::Release()
{
SAFE_RELEASE(m_pControl);
SAFE_RELEASE(m_pEvent);
SAFE_RELEASE(m_pGraph);
CoUninitialize(); return TRUE;
}