叠加半透明窗口到视频上,透过窗口可以看见后面的视频

foruok
博客专家认证
2008-01-25 11:10:13
在窗口中播放一段视频,然后在视频窗口上叠加一个窗口,新叠加的窗口为半透明,不遮挡后面的视频,视频继续播放,且可以透过叠加后的窗口看到其在播放。
请问可以用什么技术来实现?
我用SetLayeredWindowAttributes将窗口设置为半透明,但是后面的视频被遮住了,看不见。实际上该视频还在播放。
...全文
601 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaolong0211 2010-01-09
  • 打赏
  • 举报
回复
学习了~~
csy_2002 2008-05-22
  • 打赏
  • 举报
回复
暴风影音用的是OverLay层显示的视频(不受操作系统控制),而joost和pplive是通过操作系统画出来的
BBirdlyh 2008-01-25
  • 打赏
  • 举报
回复
ddraw with 2 surface
foruok 2008-01-25
  • 打赏
  • 举报
回复
用暴风影音播放,然后拖动我的透明窗口上去,看不见视频。
用joost和PPLIVE看网络电视,然后拖动我的透明窗口上去,可以看见视频。
joost和pplive在显示视频的时候,可能是用ddraw吧。我看到joost有调用d3d9.dll和其他一些dll。
rageliu 2008-01-25
  • 打赏
  • 举报
回复
不然可以使用ddraw d3d自己画
rageliu 2008-01-25
  • 打赏
  • 举报
回复
可以禁掉硬件加速,或开2个播放器,第2个就可以看到了,不过都不是根本办法

建议使用mirror
rageliu 2008-01-25
  • 打赏
  • 举报
回复
如果播放使用了硬件加速,这样看到的是黑一片。
foruok 2008-01-25
  • 打赏
  • 举报
回复
用别的视频播放器播放,然后用我的半透明窗口覆盖在视频上,也看不见视频。看不见,我又试验了下。
但如果用joost看网络电视,搞一个半透明窗口去覆盖,可以看见它出来的视频。
foruok 2008-01-25
  • 打赏
  • 举报
回复
我用directshow播放视频,然后在另一个线程中加入消息循环,生成一个半透明窗口。视频播放的窗口和半透明窗口不是同一个窗口,但视频还是被遮住了。用别的视频播放器播放,然后用我的半透明窗口覆盖在视频上,是可以看见视频的。
youyifang 2008-01-25
  • 打赏
  • 举报
回复
你先用别的播放工具播放视频,然后将半透明窗口放到上面去看是不是遮住,如果没有,就是你设计的时候,有一些细节的问题了。
而且当你的窗口半透明的时候,你的视频还在播放,开了多线程才可以做到这个
还有就是你的这个窗口是不是你那个四平播放窗口的子窗口,检查下

19,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧