VC用COM的WMP打开视频失败

cfvmario 2015-06-23 09:31:46
使用CComPtr<IWMPPlayer>声明控件指针,并在初始化时用CAxWindow对象得到控件,用QueryControl方法关联
在某button的处理程序中,用put_URL打开视频文件,正常。
在另一处理程序中,需要开启另一线程对视频进行处理,生成一个新视频文件。在线程函数中,视频文件生成完成后,就再调用put_URL打开,总是失败。
想到的可能问题:
1、在线程函数中不能使用put_URL?(看了put_URL的说明,好像有一句说Do not call this method from event handler code as it may yield unexpected results.没完全看懂,是在线程中用这个函数有危险吗?那应该用什么?
2、目标视频文件WMP控件不支持?是XVID的(FOURCC的顺序是XVID,我有点分不清是XVIDh还是DIVX……),在windows media player里可以播放,那按说WMP控件应该也能播放吧。
3、看到网上有一种说法,有时会第一次打开视频正常,后续失败,原因不明?
...全文
211 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2015-06-23
  • 打赏
  • 举报
回复
这个控件可能不支持你线程调用,只能在主线程中处理。其他线程发送消息
oyljerry 2015-06-23
  • 打赏
  • 举报
回复
PostMessage发送消息,把URL传递给主线程
cfvmario 2015-06-23
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
这个控件可能不支持你线程调用,只能在主线程中处理。其他线程发送消息
怎么发消息,MSDN里没搜到,头大

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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