evc 播放avi,没有图像
void CNewAviTestDlg::OnButton1()
;w7V8y0u.M/^{ -j)v1B#\6N"`8k
// TODO: Add your control notification handler code here
/K"}4o(k9o(b*y程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛IGraphBuilder *m_pGraph;
+@2n%W5s3c%e IMediaControl *m_pControl;
8x,t2N#N.U!Q IMediaEventEx *m_pEvent; +A:`-y#h9b/[4Z!Y ?
IVideoWindow *m_pVideoWindow; ,y'q(T P*['O
CoInitialize(NULL); 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛#_1v"j!l*^$?;i
-n"R1a"L"d-o!^1P0HHWND hWnd;
!M6i;z#C7n.B;M-y1K程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛hWnd = GetDlgItem(IDC_STATIC_MPEG)->m_hWnd;
-Z4k5B0w*T(^$Z&]1J程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛
-v2w)v+}:kHRESULT hr; 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛(c(P)h"S'w7V,t.^3N5O
tech.techweb.com.cn'c'G/|&@4y7^.z,y
//free(); //Deletes any previous DirectShow instances 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛4j:j1@&t.z'H&I
hr = CoCreateInstance(CLSID_FilterGraph, NULL,CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&m_pGraph);
'\6h5P+X1P$[3Y B1D if (!SUCCEEDED(hr))
4y0p6f8B6Y&M"i{ 5A)q*@2P'v+l3f/p%|:k.A!y
MessageBox(_T("CoCreateInstance failed")); 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛!m:k*e#d1Y(w/_
} P#Y6E/x,a*H&G0m1H8D7e
hr = m_pGraph->QueryInterface(IID_IMediaControl, (void **)&m_pControl);
$l'u9G2F7I"y!u if (!SUCCEEDED(hr))
'n(})~5v3f!P)j#M"H;STechWeb-技术社区{
#A,}+Y%M-A.CMessageBox(_T("IID_IMediaControl failed")); TechWeb-技术社区8t'b9X7j&\9J
}
2i*h'y1p9N,h3^!b hr = m_pGraph->QueryInterface(IID_IMediaEventEx, (void **)&m_pEvent); TechWeb-技术社区(L!`/`+w7[ n*v,\
if (!SUCCEEDED(hr))
)C2q6E-g9Z9v4x{ tech.techweb.com.cn/v+R!?#u3C7R-i9\
MessageBox(_T("IID_IMediaEventEx failed")); :A:E*l/G$\ r0j'?3G
}
"V$x&c9X6O.@2jTechWeb-技术社区,h.N:Y,U"I'?+Q5S Q7T
hr = m_pEvent->SetNotifyWindow((OAHWND)hWnd, 0, 0); :r5z%T"[:`!q h.@'E
if (!SUCCEEDED(hr)) 0?,x"m#r6D!U
{ 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛-X(C0h4y/`5[!M
MessageBox(_T("SetNotifyWindow failed"));
/^2O6J6S&L9atech.techweb.com.cn} tech.techweb.com.cn'o(M#q$d/l:P2E0y$w2L
tech.techweb.com.cn1v!s'}/['w:A
$_3~(\7d&F.H(_ hr = m_pGraph->RenderFile(_T("C\\爱我别走.avi"), NULL); (m/C'V ?#L9H8A
if (!SUCCEEDED(hr)) tech.techweb.com.cn)w5u6a,R"[;K
{ .G%?&_%y,h
MessageBox(_T("RenderFile failed")); M/w4Z8I-C:l"i
//m_pMediaPlayerLog->WriteOut("RenderFile failed,RESULT:0x%x",hr);
#w6n't/r#_3DTechWeb-技术社区}
+x-J#i&H&J"`2d hr = m_pGraph->QueryInterface(IID_IVideoWindow, (LPVOID *) &m_pVideoWindow);
'L5O(|,o+x8G4G8B*v*m(r程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 if (!SUCCEEDED(hr))
,W'J"b%n4i:U7h{ 'u+l5|/H4P
MessageBox(_T("IID_IVideoWindow failed"));
3g-k \5X+B:I!b }
.\&t-B*i$T)R+H4t)C$O%|"G2L3j9Z
SetWindowLong(hWnd,GWL_STYLE,GetWindowStyle(hWnd) ¦WS_CLIPCHILDREN); 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛!_$m8w#O7L!@%g'Y
hr = m_pVideoWindow->put_Owner((OAHWND)hWnd);// 这里报错,失败了 9q+L9y$h7t0^9a)L
if (!SUCCEEDED(hr)) TechWeb-技术社区/\*J5U,r8W
{
d/s4g"K,o5Q1B-k9Atech.techweb.com.cn MessageBox(_T("put_Owner failed"));
6A9T;S$u"t+Y2C:D程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 }
4t.K'H.H&h.\6Q)D9Y"x"K/^ hr = m_pVideoWindow->put_WindowStyle(WS_CHILD ¦WS_CLIPCHILDREN ¦WS_CLIPSIBLINGS); //然后这里也会报错 ,失败了
,R1~9p!K4w0b/g)q程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 if (!SUCCEEDED(hr)) TechWeb-技术社区9L%F&W4`0V0D6x'Y2`&U
{ TechWeb-技术社区!T7D k-^/F%s
MessageBox(_T("put_WindowStyle failed"));
4M3\%@.f/y+C.K4~!A9^1t1Rtech.techweb.com.cn //m_pMediaPlayerLog->WriteOut("put_WindowStyle failed,RESULT:0x%x",hr);
%k9l$D4b!Q0`+k} )`4g%u.q3^
hr = m_pVideoWindow->put_MessageDrain((OAHWND)hWnd);//然后这里也会报错 ,失败了
,P5\6n:I8Z!\3l3^ if (!SUCCEEDED(hr)) 7X&R7w'B!w:o;H0R
{ 1r:C-e+i,N9B/@)~9s
MessageBox(_T("put_MessageDrain failed"));
%\-z-Z-X4H w L(q/O //m_pMediaPlayerLog->WriteOut("put_MessageDrain failed,RESULT:0x%x",hr);
%Y$j7l%]-g+f8S)c-sTechWeb-技术社区}
+i&R$A.J:}0L:k(ITechWeb-技术社区 hr = m_pVideoWindow->put_Visible(OATRUE); //最后是这里也会报错 ,失败了
#I!o5o:H;f+J0s8Y2mTechWeb-技术社区 if (!SUCCEEDED(hr)) 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛8X2~'p)?${-v+F6d0K-~
{ (z;m,t&_:s:d7Y.z'l3s3{:P,m
MessageBox(_T("put_Visible failed")); TechWeb-技术社区7N!U1c'g(I3f+j+H/b
//m_pMediaPlayerLog->WriteOut("put_Visible failed,RESULT:0x%x",hr);
7j4z"T%D/|'u} tech.techweb.com.cn&E;h(N/M7j3x1P8s+\
4W%p(`4?*n%S4}
RECT grc;
"t%N3t/o ]#p Q GetClientRect(&grc);
8?*Z*[,L-A+{7a2e2U1X0Z3|tech.techweb.com.cn m_pVideoWindow->SetWindowPosition(289,81,704,585);
1{8x'l%B.O程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 m_pVideoWindow->put_Visible(OATRUE); 1~,J;Q"d5_/c9O,K'x,h
,r;Z,H'~:E(N5itech.techweb.com.cnm_pControl->Run();
'C#E,R"N6c+k:{,y Y!Btech.techweb.com.cn
)o,d1s6?*]7Stech.techweb.com.cn} 4o"Y#n-D1U'?:|-W
哪位大侠能告诉我,我的m_pVideoWindow->put_Owner((OAHWND)hWnd),
+N }#R6z"G(G1p m_pVideoWindow->put_WindowStyle(WS_CHILD ¦WS_CLIPCHILDREN ¦WS_CLIPSIBLINGS); tech.techweb.com.cn$s;B:R3e)d6d+Z1b9^
m_pVideoWindow->put_MessageDrain((OAHWND)hWnd); TechWeb-技术社区;Y+O%e(k:K+G/m2i
m_pVideoWindow->put_Visible(OATRUE);
3K(j$E0W3]/n#S-l5V.@ 都错在哪里?谢谢!!!
|