高手请进,directshow 播放视频的窗口和窗口本身的OnPaint是什么关系

hucailai 2010-04-13 06:09:55
我用directshow播放视频
调用IVideoWindow的put_Owner(),把我的对话框作为播放窗口,传进去。是可以正常播放的

问题1:
但是我还有另外一个需求,就是要在对话框OnPaint中绘图,当绘图的区域在视频区域内是,windows是怎么处理绘图的。
如何能使OnPaint的绘制优先绘制,绘制在最上面。

问题2:
我调用IVideoWindow.put_letf(0),put_top(0),put_height(0), put_width(0),隐藏视频时,绘制对话框的背景会闪一下
有什么方法能够使隐藏视频窗口时,对话框背景不闪。不隐藏也可以,关键是怎么解决闪的问题。我要绘制背景了,不需要视频了。

不知道我的问题有没有描述清楚。


回帖有分。

...全文
166 点赞 收藏 21
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hucailai 2010-04-26
两个窗口在绘制时是什么关系,等待高手。
回复
kfanffvga 2010-04-26
假如仅仅是为了绘图的话,那直接加多一个transfer filter 就可以了,而且这个filter在陆老师的书上有,应该是两个窗口,因为即使没有对话框,也可以播放视频的
回复
xueliang10 2010-04-26
你是要在OnPaint中绘制图像覆盖原先的吗?
回复
wzyzb 2010-04-26
顶起来
回复
lvjadey 2010-04-23
貌似是两个窗口,对话框只控制视频的rect.
回复
瓶盒 2010-04-19
你的对话框窗口和dshow中视频实际的窗口并不是同一个窗口,所以对话框中的OnPaint对视频不会有影响,如果想在视频上再画点东西,简单的方法就是在插入一个自定义的Transform filter,在里面对视频数据进行加工处理
回复
hucailai 2010-04-19
一周过去,继续等待高手进来
回复
瓶盒 2010-04-19
可以这样认为,你用spy++就看得出来。对话框窗口应该在底下,它只负责视频窗口的大小。
回复
hucailai 2010-04-19
[Quote=引用 14 楼 bottlebox 的回复:]
你的对话框窗口和dshow中视频实际的窗口并不是同一个窗口
[/Quote]

两个窗口是什么关系?子窗口与父窗口之间的关系吗?
回复
hucailai 2010-04-16
视频播放过程中,会不会进入OnPaint里面和OnEraseBgnd里面?
谢谢!能讲下原理吗?
回复
hucailai 2010-04-16
播放视频的窗口和窗口本身的OnPaint是什么关系?

谁能解释下吗?
回复
hucailai 2010-04-15
既然是借鸡生蛋的
回复
hucailai 2010-04-15
自己顶起来,回帖啊,我好结贴
回复
jirulin 2010-04-15
IVideoWindow的put_Visible(OAFALSE)隐藏就行了!
回复
hucailai 2010-04-14
谢谢楼上的朋友们。

[Quote=引用 3 楼 bdzwj 的回复:]
参考DirectShow的VMR示例
[/Quote]
我现在使用的平台是wince系统,好像上面的directshow不支持VMR

[Quote=引用 2 楼 hurryboylqs 的回复:]
IVideoWindow的put_Visible可以隐藏和现实视频窗口
[/Quote]
用这个隐藏再显示的话,视频是黑的。

该怎么解决呢?
回复
向立天 2010-04-13
这个帖子我帮你转到 专题开发/技术/项目->多媒体/流媒体开发 版
那里的朋友都是研究这个的
回复
bdzwj 2010-04-13
参考DirectShow的VMR示例
回复
hurryboylqs 2010-04-13
IVideoWindow的put_Visible可以隐藏和现实视频窗口
回复
hucailai 2010-04-13
怎么还没人进来啊?
回复
相关推荐
发帖
多媒体/流媒体开发
创建于2007-08-27

2459

社区成员

专题开发/技术/项目 多媒体/流媒体开发
申请成为版主
帖子事件
创建了帖子
2010-04-13 06:09
社区公告
暂无公告