我要用c#做一个屏幕录像的软件。可是 如果屏幕操作过快的话,录出来的效果特别快,
主要思路是每个30毫秒我会截取一张bmp格式的屏幕图片,一个图片加一帧,最后生成avi文件。
可是如果屏幕操作过多过快的话 timer事件出发的就会少。Interval 属性设置成10 和100  截出来的图一样多  这样就导致 合成avi视频的原图片减少  帧也就减少 所以录制出来的视频才会过快请问 我该如何 解决 屏幕操作过快过多,timer事件触发次数不够的问题
放在线程里可以吗? 该怎么写  谢谢

解决方案 »

  1.   

    这个没办法,cpu分给线程的时间片是不固定的,你没办法达到精确的定时。你可以把每次截图是时间记录下来,然后按时间插入生成avi,这样就不会快了。
      

  2.   

    我觉得可以尝试用Media Encoder来实现类似的功能。
      

  3.   

    http://wenku.baidu.com/view/7d3a1068011ca300a6c3900d.html
    这个类似QQ截图的功能,代码和说明都有!~
      

  4.   

    Interval不是你设置成多少就一定按照那个间隔去执行的,比如一个操作需要1秒,你设置成1,10,100,900都是一样的,在设定的Interval内没有执行完势必会影响下一个循环(顺延)。
      

  5.   

    哎 ,,,,刚才试了一下arrayliat的方法 。但内存受不了。。  还是不行日了
      

  6.   


    提示 unable to find manifest signing certificate in the certificate store