在使用“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.
}