evc 播放avi,没有图像
void CNewAviTestDlg::OnButton1() tech.techweb.com.cn)_1Q1u3^ ~/^;} U"T
{ TechWeb-技术社区#J(g4q1S2e'Q
// TODO: Add your control notification handler code here
8S7N,m&|*ytech.techweb.com.cnIGraphBuilder *m_pGraph;
2k |!Q"e7L q IMediaControl *m_pControl;
/K(q5d1A1B2x!E i+yTechWeb-技术社区 IMediaEventEx *m_pEvent; 'q2P#h9z(O k
IVideoWindow *m_pVideoWindow; 3d4F/L,Y7U6W8j;F
CoInitialize(NULL); 8_'B4i#a#@1O8n:A
8Y7u'p1_)}/q
HWND hWnd;
1S$[%o7p6xhWnd = GetDlgItem(IDC_STATIC_MPEG)->m_hWnd;
;b5s'A$~8nTechWeb-技术社区
)j4N.Q*\9~'zHRESULT hr;
&g#m"}1B+{'T$[
-i;Z([,r%i!U!_.w5D //free(); //Deletes any previous DirectShow instances (K&L j9L;p,\/|8J:F!J
hr = CoCreateInstance(CLSID_FilterGraph, NULL,CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&m_pGraph); tech.techweb.com.cn0y)J+e1M2z6s:]
if (!SUCCEEDED(hr))
%Z&e$W3B$D!S{
&N1C(c5Z-[8@9q H6A程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛MessageBox(_T("CoCreateInstance failed"));
:f$q;Z.@(t/a5P}
&}8{ z/k)B6e:k&d8O6|-c6{7ztech.techweb.com.cn hr = m_pGraph->QueryInterface(IID_IMediaControl, (void **)&m_pControl);
%b(j/_&H9}:^程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 if (!SUCCEEDED(hr)) 9n,` t!L5`#Z
{
!x4K&`,_%_4k&T:rtech.techweb.com.cnMessageBox(_T("IID_IMediaControl failed"));
'J(F$~3T7r,`5^0H:c/j"X'p程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛}
0Y6J n*A2S(T&[5V hr = m_pGraph->QueryInterface(IID_IMediaEventEx, (void **)&m_pEvent); 6H0O.V1i+_9X
if (!SUCCEEDED(hr))
.Z `1m6u,V7z{
5r)^$w8E4o9hTechWeb-技术社区MessageBox(_T("IID_IMediaEventEx failed")); tech.techweb.com.cn3T#R(h4@%R,K;J#x
} 3e;S8S3a2E)Y2y:H9_
2C8q!Q:E4R.x0E9u;o:e6R1V$OTechWeb-技术社区 hr = m_pEvent->SetNotifyWindow((OAHWND)hWnd, 0, 0); '~.t6l0h&g9@&[%t7N'I0[
if (!SUCCEEDED(hr)) tech.techweb.com.cn0n4V0n.w9O ~
{
!f8a"^!n#m._$z;PTechWeb-技术社区MessageBox(_T("SetNotifyWindow failed")); TechWeb-技术社区-F:~:_&R*c4v:K8c
} &^;Y*N ] n(~
"e&b4f1K)|2u9N1V1M;E4^$Z*Ltech.techweb.com.cn
)J9]6h4G"l'I(B*c(c1f&K0Atech.techweb.com.cn hr = m_pGraph->RenderFile(_T("C\\爱我别走.avi"), NULL); 6C-_.q2a)j2o8K#a5o
if (!SUCCEEDED(hr)) 6f1A(@*T7L
{ 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛&i"p$Z/?,T l:\
MessageBox(_T("RenderFile failed")); 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛9U+L M&E+E+C6A!N;O
//m_pMediaPlayerLog->WriteOut("RenderFile failed,RESULT:0x%x",hr);
*H6m;^)i9`#q} 6H4W+g5m'r)q+\2X7I
hr = m_pGraph->QueryInterface(IID_IVideoWindow, (LPVOID *) &m_pVideoWindow); 2t4B4|3g%k)Y(q6^
if (!SUCCEEDED(hr)) 'l0W4i/]2\+o'd
{ -P(\ O9_6g6l#T)U(I$b%{%F
MessageBox(_T("IID_IVideoWindow failed"));
0V4x)f3\#u5K)l.itech.techweb.com.cn } tech.techweb.com.cn,g,p2f*Q;L6{&c8e+N(p0x
;Z0h1f:N4a'o$[tech.techweb.com.cnSetWindowLong(hWnd,GWL_STYLE,GetWindowStyle(hWnd) ¦WS_CLIPCHILDREN); !|;R7m0?/\*x0f,@0w,D
hr = m_pVideoWindow->put_Owner((OAHWND)hWnd);// 这里报错,失败了
-F7T2l:x6Z;R Z(Q*~ if (!SUCCEEDED(hr))
8p4\ D%o6w:P&q&vtech.techweb.com.cn{
!T&E%|;^#j#B MessageBox(_T("put_Owner failed"));
7^;B+L7f&g$?6e;j/R"`TechWeb-技术社区 } 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛6V*r(H,]+?;z%A6]5S
hr = m_pVideoWindow->put_WindowStyle(WS_CHILD ¦WS_CLIPCHILDREN ¦WS_CLIPSIBLINGS); //然后这里也会报错 ,失败了 (W%@3j"s J
if (!SUCCEEDED(hr)) s(^6V'i2}4B
{ tech.techweb.com.cn+w"M0};`5N-h!m:a ?
MessageBox(_T("put_WindowStyle failed"));
5M'\(w-x)a0|6L/\9@TechWeb-技术社区 //m_pMediaPlayerLog->WriteOut("put_WindowStyle failed,RESULT:0x%x",hr); tech.techweb.com.cn4{)|+l$Y&d,E
} tech.techweb.com.cn,v7a&p!r$U
hr = m_pVideoWindow->put_MessageDrain((OAHWND)hWnd);//然后这里也会报错 ,失败了
;q(A1R0Q&X;|2@3` if (!SUCCEEDED(hr)) 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛&A2r1B7a0T"~/\.k4T
{ 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛4c4b;E$q.|;t0T8l
MessageBox(_T("put_MessageDrain failed")); 1C/W'A(x%k
//m_pMediaPlayerLog->WriteOut("put_MessageDrain failed,RESULT:0x%x",hr); -o9q'n,_#~&A4N
} 'C1h3R7f"[
hr = m_pVideoWindow->put_Visible(OATRUE); //最后是这里也会报错 ,失败了 TechWeb-技术社区0t4a4i!S.V-P
if (!SUCCEEDED(hr)) TechWeb-技术社区$o*R+j E(@&d:`
{ 6T&^1H6?*d!s0a
MessageBox(_T("put_Visible failed")); ,w$d._4O0z"O2r
//m_pMediaPlayerLog->WriteOut("put_Visible failed,RESULT:0x%x",hr); tech.techweb.com.cn&u;z&|"H-H/^3N
}
1L*t0i'A!N/H a2X6h2a5X:t(A5D-s.[
RECT grc; tech.techweb.com.cn"t#O;b7J#g
GetClientRect(&grc); 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛/e,?+T8Z#L"F.E)B4l
m_pVideoWindow->SetWindowPosition(289,81,704,585); )C,u"Q3_#m
m_pVideoWindow->put_Visible(OATRUE); ,V.S8}%j%G.D7i5p
:X5X*u%U;T"Qm_pControl->Run(); tech.techweb.com.cn"p.r7x+E/d;`*s
9z;G7?%M*N/i} TechWeb-技术社区6m5Y$B#q#x:o#s5L4^'_
哪位大侠能告诉我,我的m_pVideoWindow->put_Owner((OAHWND)hWnd),
'{1L)H1f&E;R7s'b m_pVideoWindow->put_WindowStyle(WS_CHILD ¦WS_CLIPCHILDREN ¦WS_CLIPSIBLINGS); tech.techweb.com.cn'f)y)E#J5r
m_pVideoWindow->put_MessageDrain((OAHWND)hWnd);
(l(L&F6L9D m_pVideoWindow->put_Visible(OATRUE);
2V0`-k4X,}+](J&V3I(@ 都错在哪里?谢谢!!!
|