做了一个MFCActiveX控件, 其中内置了一个mediaplayer控件, 即控件里面用了一个mediaplayer控件,
页面调用这个MFCActiveX控件进行媒体播放, 页面关闭时, 控件调用mediaplayer close,问题是
从开始调用close到完成得花好几秒钟,问问各位大侠, close怎么这么慢啊

解决方案 »

  1.   

    media play控件关闭时需要释放内存,释放各个filter控件.
    因此需要些时间
      

  2.   

    我每步都打了日志了,接到页面关闭消息后,控件开始处理,首先调用mediaplay.stop停止媒体播放, 
    然后调用mediaplay.close关闭, 就mediaplay.close花费时间长, 从开始调用到完成得好几秒, 有什么法子可以快速关闭吗
      

  3.   

    我详细说明一下吧, 我做了一个MFC ActiveX控件MyPlayer,C++实现的, MyPlayer里面创建了一个windows自带的MediaPlayer控件,页面调用MyPlayer时,如调用playlive(channnel), 后台启动一个直播频道,开始从服务器接收数据, 准备好了提供一个直播流地址, 通知mediaplay控件进行播放, 现在这些步骤都没问题, 问题是页面关闭时, myplayer停止mediaplayer播放, 然后关闭mediaplayer, 就是这个关闭mediaplayer花了很长时间
      

  4.   

    找到原因了, 我先把直播流关闭了,然后再关mediaplayer,关闭mediaplayer得花很长时间, 先关mediaplayer, 再关直播流,这样就可以了。