游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2466|回复: 2

关于DirectShow的问题

[复制链接]

5

主题

14

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2012-7-5 16:47:00 | 显示全部楼层 |阅读模式
请问用DirectShow播放视频时,怎样才知道它播放完呢?
我是用
m_pEvent->WaitForCompletion(INFINITE, &evCode); 来阻塞,
这样来强制它显示到顶层,然后播放完才渲染UI。
可是问题是,一旦进入了阻塞,程序相当于进入了假死状态,不能响应鼠标、键盘的消息了,哪位大神有解决办法呢?谢谢 [em24]

5

主题

14

帖子

83

积分

注册会员

Rank: 2

积分
83
 楼主| 发表于 2012-7-7 01:22:00 | 显示全部楼层

Re:关于DirectShow的问题

顶顶更健康

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2012-7-9 11:33:00 | 显示全部楼层

Re: 关于DirectShow的问题

qq1280: 关于DirectShow的问题

请问用DirectShow播放视频时,怎样才知道它播放完呢?
我是用
m_pEvent->WaitForCompletion(INFINITE,...


get_CurrentPosition阿!(在 IMediaPosition 里)
长度是 get_Duration

PS 这样的vb6也写得出。
Dim mMediaPos As MediaPosition
Set mMediaPos = mGraph '// 这里调用了QueryInterface进行“转型”
pos = mMediaPos.CurrentPosition
length = mMediaPos.Duration

可是问题是,一旦进入了阻塞,程序相当于进入了假死状态,不能响应鼠标、键盘的消息了,哪位大神有解决办法呢?谢谢

1 好像有非阻塞的
2 开线程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-27 22:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表