网站首页  |   业界社区  |  电信社区  |  技术社区   |  极客社区  |  游戏社区  |  生活社区   |   科技博客  |   同事录
TechWeb-技术社区


标题: [求助] evc 播放avi,没有图像
游客
该用户匿名发帖









发表于 2008-8-20 11:57
我在其他网页上找到一段代码:
*?2q-O)g$~:\IGraphBuilder  *pGraph  =  NULL; 2L1?&T/F*f4f;Y
IMediaControl  *pControl  =  NULL;
%]!~6G/f3w/j3h程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛IMediaEvent      *pEvent  =  NULL; 4b-y)a#E9g/l6X2O#I7r
IVideoWindow    *pVidWin  =  NULL; tech.techweb.com.cn/|3X0^6Y5u)R's9[
     6j"g1o6],~5X
HRESULT  hr  =  CoInitialize(NULL);
!C.Q!@&r,C!s3U2e*JTechWeb-技术社区if  (FAILED(hr)) /L1B4q.J!?4D"n-N
{ *_']5O4q)v
  printf("ERROR - Could not initialize COM library");
(o;o i:e$y%e(\3B+otech.techweb.com.cnreturn; :u/q;Z5M(Q&K9F$A,m
} 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛-a"S.k!_6A,}

9b#d:`'X9lTechWeb-技术社区hr = CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void**)&pGraph); 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛't;K$n"m#{3N6M
if  (FAILED(hr))
/k8b"U;q9O:f'z#]3m,|!H{ ,}(H$[/}'M.a!g
printf("ERROR - Could notcreate the Filter Graph Manager.");
0L*q(|){6j,CTechWeb-技术社区return;
*X5{1p.C!]9a2B!?3K程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛} 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛&n!u-O&a;y&j3c%O,_
hr  =  pGraph->QueryInterface(IID_IMediaControl,  (void  **)&pControl);
7y"b7B&k4hhr  =  pGraph->QueryInterface(IID_IMediaEvent,  (void  **)&pEvent);
'J$R4}!s!q&shr  =  pGraph->QueryInterface(IID_IVideoWindow,  (void  **)&pVidWin); 6p"}'u#n5I9d
HWND  hwnd  =  GetSafeHwnd(); TechWeb-技术社区3c._+i2i1v1J#\*v;Y
// SetWindowLong(hwnd,GWL_STYLE,GetWindowStyle(hwnd) &brvbarWS_CLIPCHILDREN);
4C:[0C![0p8M1C1vhr = pVidWin->put_Owner((OAHWND)hwnd);
3p*S8i3s#[%P4\9N$P(vpVidWin->put_WindowStyle(WS_CHILD ¦ WS_CLIPSIBLINGS  ¦  WS_CLIPCHILDREN); 2S5i-b2m+Q7c(X'L5S)v
pVidWin->SetWindowPosition(0,0,400,300); //  定位播放子窗口
/?1N9q0E2^5}+K程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛    hr  =  pGraph->RenderFile(L"C\\这就是爱.avi",  NULL); tech.techweb.com.cn)M4o.k1d.R.@;V
//hr  =  pGraph->RenderFile(L"E:\\music\\I  believe.asf",  NULL); r$c"B/@!^3@&l
if  (SUCCEEDED(hr)) tech.techweb.com.cn([!V/i;\(q)G2e+N0p"Y
{
;c,Z;? ?2~,k"l'L4mtech.techweb.com.cn%z8t+Z8W1x'[*t2d
hr  =  pControl->Run(); TechWeb-技术社区1Z!a-D"f5j"J'o!M%r+G1C7]
if  (SUCCEEDED(hr))
5a*_'f)@2r7~(btech.techweb.com.cn{ TechWeb-技术社区/m8b,N1d8b/u+W"a3_3n;J
HWND  hwnd  =  GetSafeHwnd(); .W2Q9I2p)v${&O3d
hr  =  pVidWin->put_Owner((OAHWND)hwnd);
.m(J,j q-H r"I.s:A9stech.techweb.com.cnlong  evCode; ,c"z,A:r.f(@3X
pEvent->WaitForCompletion(INFINITE,  &evCode); "S*J1w K7I/b
} tech.techweb.com.cn'Q!L/w1T#y0y.x)d R,C
}
-L5q!x.k#s:^pControl->Release();
X.M0R-b/c2K6r8j,UpEvent->Release();
%Q9?2k)^8O4l1};R2HpGraph->Release(); TechWeb-技术社区/U$t&G:d3N8@6E*V
pVidWin->put_Visible(OAFALSE);
)g"g7P'g4l8W.\pVidWin->put_Owner(NULL);
2M1b)n3T:E!X5C!S;t7Q"zCoUninitialize(); tech.techweb.com.cn(r;x%p"e-_9M*w/?
他说肯定能用的:可是我用了以后还是和我一样的问题出现,只有卡的几声而没有图像。然后我把自己的代码加上去/z9P.^:b'['w8^#d
hr = pVidWin->put_Owner((OAHWND)hwnd);
7\:p&H9]2{%K7X;X6]TechWeb-技术社区CString strError;
'f4S#I"a/?3d*Pif (!SUCCEEDED(hr))TechWeb-技术社区#N!a:i1x:T7S#`;E3r#N2N
{
8K.}4`9_0b&?#W2V2h5pTechWeb-技术社区  strError.Format(_T("put_Owner出错:%x"),hr);
*R(l0r,Z!h,Stech.techweb.com.cnMessageBox(strError);TechWeb-技术社区9J)@8d4k+U"?0L9}
strError.Format(_T("put_Owner出错:%d"),hr);程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛:J'f5`!`!x*@(@
MessageBox(strError);
!h3p,d6[2C/r;Z5BstrError.Format(hr);
'c+x9t5E'd&j9U9|程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛  MessageBox(strError);
/c R#t8|$E6z程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛    }程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛;j0h1g"S)F
结果果然还是出现我以前的问题:+l+o9d$r/b.b
第一个对话框显示:put_Owner出错:80004002
1z"J(F(B'T%n-N(G:a"Ntech.techweb.com.cn第二个对话框显示:put_Owner出错:-2147467262
*r;n%t#i4F第三个对话框是空白
1e-`)].?3L9_.q2U(qTechWeb-技术社区果然还是put_Owner()参数的问题;谁能告诉我put_Owner()里面的参数应该怎么得到阿?谢谢大家!

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:57
谁能告诉我put_Owner()里面的参数应该怎么得到阿?谢谢大家!  "
+K#p;f%c!K.P:U#M.I3@9Z
你的视频窗口所归属的父窗口,这个父窗口难道不是你自己创建的?

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:57
TO:xjfoxtech.techweb.com.cn(@*N!}8d%G+y-R:M3E9E
我原本自己的例子里面的put_Owner()视频窗口是一个自己添加的PictureBox控件。
;y.?'|8A9b,nHWND  hWnd;   TechWeb-技术社区&P&l%Q"G%g'a;X3x.^
hWnd = GetDlgItem(IDC_STATIC_MPEG)->m_hWnd; 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛#s2A(s3m,[)P
hr = m_pVideoWindow->put_Owner((OAHWND)hWnd);
(q4S+R(t8q0S$}程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛IDC_STATIC_MPEG就是我PictureBox控件的ID。)P)?*T!D!Z:l6Q
后来我找到的例子里面我发现是把当前的对话框用作视频窗口:;]/\'f M6C
HWND  hwnd  =  GetSafeHwnd();   )F&w.{7B#s
hr  =  pVidWin->put_Owner((OAHWND)hwnd);   'S z6g)h"H9J7h8K%].U1E
请问大侠,难道这样创建视频窗口不对吗?

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:57
哪位大侠知道我put_Owner()里面的参数错在哪里?或者知道应该怎么用/设置put_Owner()里面的参数?请教教我。谢谢!

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:57
怎么没有人回了啊?为什么没人能帮帮我啊?

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:57
我知道都是很好的建议,但有没有人有一点具体的做法呢?

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:57
或者举个例子也可以啊!!!谢谢大家了!!

引用 回复 顶部
游客
该用户匿名发帖









发表于 2008-8-20 11:58
晕!有谁知道的,真的能帮帮我的啊?真的谢谢了!!!

引用 回复 顶部
OKBEN
TW金牌会员
Rank: 6Rank: 6



UID 138713
精华 37
积分 1469
帖子 584
阅读权限 70
注册 2008-7-29
状态 离线
发表于 2008-8-20 11:58 资料 短消息 加为好友 添加 OKBEN 为MSN好友 通过MSN和 OKBEN 交谈
要把graph里的filter链路建好才能行

引用 回复 顶部
查看积分策略说明快速回复主题
选项 标题 Smilies
禁用 URL 识别
禁用 Smilies
禁用 Discuz!代码
使用匿名发帖
使用个人签名
接收新回复邮件通知
内容





当前时区 GMT+8, 现在时间是 2008-11-23 05:43
京ICP证060517号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2008 Comsenz Inc.
Processed in 0.028500 second(s), 7 queries

清除 Cookies - 联系我们 - TechWeb.com.cn - Archiver - WAP