void CRTCSampleMainInterface::ShowSubscribe()

in AliRTC2.5/Windows/MFC Demo/RtcSample/RTCSampleMainInterface.cpp [922:962]


void CRTCSampleMainInterface::ShowSubscribe(const String uid, int iReflectIndex, AliEngineVideoTrack vt)
{
	if (0 == m_mapRemoteInfo.size()) return;
	if (0 == m_mapRemoteInfo.count(uid.c_str())) return;
	Dictionary dict;
	if (0 != m_pEngine->GetUserInfo(uid.c_str(), dict))  return;

	m_vecThrowingScreenInfo[iReflectIndex].s_strRemoteUserUid = uid;
	m_vecThrowingScreenInfo[iReflectIndex].vt = vt;
	if (AliEngineVideoTrackCamera == vt)
	{
		m_mapRemoteInfo[uid.c_str()].s_iReflectID = m_vecThrowingScreenInfo[iReflectIndex].s_iReflectID;
		m_mapRemoteInfo[uid.c_str()].s_iReflectTips = m_vecThrowingScreenInfo[iReflectIndex].s_iReflectTips;
		m_mapRemoteInfo[uid.c_str()].s_bIsReflect = true;
		m_mapRemoteInfo[uid.c_str()].s_iReflectIndex = iReflectIndex;

		if (true == m_mapRemoteInfo[uid.c_str()].s_bHsaCameraFlow && true == m_mapRemoteInfo[uid.c_str()].s_bIsRecvCamera)
		{
			AliEngineVideoCanvas canvas;

			canvas.displayView = GetDlgItem(m_vecThrowingScreenInfo[m_mapRemoteInfo[uid.c_str()].s_iReflectIndex].s_iReflectID)->m_hWnd;
			m_pEngine->SetRemoteViewConfig(canvas, uid.c_str(), AliEngineVideoTrackCamera);
		}
	}
	else if (AliEngineVideoTrackScreen == vt)
	{
		if (true == m_mapRemoteInfo[uid.c_str()].s_bHsaScreenFlow && true == m_mapRemoteInfo[uid.c_str()].s_bIsRecvScreen)
		{
			AliEngineVideoCanvas canvas;

			canvas.displayView = GetDlgItem(m_vecThrowingScreenInfo[iReflectIndex].s_iReflectID)->m_hWnd;
			m_pEngine->SetRemoteViewConfig(canvas, uid.c_str(), AliEngineVideoTrackScreen);
		}
	}	

	CString strReflectTips;
	strReflectTips.Format("远端用户:%s", m_mapRemoteInfo[uid.c_str()].s_strRemoteUserName.c_str());
	GetDlgItem(m_vecThrowingScreenInfo[iReflectIndex].s_iReflectTips)->SetWindowTextA(strReflectTips);	

	SetTimer(TIMER_RETRIEVAL_CHANNEL, 500, NULL);
}