首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

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

2012-03-22 
高手请进,directshow 播放视频的窗口和窗口本身的OnPaint是什么关系我用directshow播放视频调用IVideoWind

高手请进,directshow 播放视频的窗口和窗口本身的OnPaint是什么关系
我用directshow播放视频
调用IVideoWindow的put_Owner(),把我的对话框作为播放窗口,传进去。是可以正常播放的

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

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

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


回帖有分。



[解决办法]
IVideoWindow的put_Visible可以隐藏和现实视频窗口
[解决办法]
参考DirectShow的VMR示例

[解决办法]
这个帖子我帮你转到 专题开发/技术/项目->多媒体/流媒体开发 版
那里的朋友都是研究这个的
[解决办法]
IVideoWindow的put_Visible(OAFALSE)隐藏就行了!
[解决办法]
你的对话框窗口和dshow中视频实际的窗口并不是同一个窗口,所以对话框中的OnPaint对视频不会有影响,如果想在视频上再画点东西,简单的方法就是在插入一个自定义的Transform filter,在里面对视频数据进行加工处理
[解决办法]
可以这样认为,你用spy++就看得出来。对话框窗口应该在底下,它只负责视频窗口的大小。
[解决办法]
貌似是两个窗口,对话框只控制视频的rect.
[解决办法]
顶起来
[解决办法]
你是要在OnPaint中绘制图像覆盖原先的吗?
[解决办法]
假如仅仅是为了绘图的话,那直接加多一个transfer filter 就可以了,而且这个filter在陆老师的书上有,应该是两个窗口,因为即使没有对话框,也可以播放视频的

热点排行