部分计算机上视频不能自动刷新的解决方案
在使用“AnyChat Platform Core SDK”的过程中,在启用SDK自动视频显示模式时(启用回调函数由上层应用自己渲染视频则不存在该问题),有时会出现本地视频不能主动刷新的问题,表现为:本地视频打开后,没有出现视频图像,还是显示为背景,移动一下窗口,或是用别的窗口覆盖一下,则视频才显示出来,这种情况只在极个别计算机上才出现。
解决方案:在主窗体绘制完背景后,主动刷新一下视频窗口区域。
01.BOOL XXXXXXX::OnEraseBkgnd(CDC* pDC) 02.{03. BOOL bRetValue = CDialog::OnEraseBkgnd(pDC);04. // 绘制背景05. // ……06. 07. // rc1、rc2、……是视频窗口的区域08. ::RedrawWindow(m_hWnd,&rc1, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN);09. ::RedrawWindow(m_hWnd,&rc2, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN);10. return bRetValue;11.}
浙公网安备 33010602011771号