谷城县城乡建设局网站,企业邮箱域名,网站络,北京爱空间装修公司在前两节课#xff0c;我们将推流端与播放端合并为一对一音视频聊天功能并解决了关键的回声问题#xff0c;在此基础上#xff0c;我们可以进一步改进实现多对多的视频会议功能。
1.备份demo9并修改demo9为demo10。
2.打开工程文件#xff0c;修改mfc为四分屏画面。 界面…在前两节课我们将推流端与播放端合并为一对一音视频聊天功能并解决了关键的回声问题在此基础上我们可以进一步改进实现多对多的视频会议功能。
1.备份demo9并修改demo9为demo10。
2.打开工程文件修改mfc为四分屏画面。 界面左下角为推送端界面包括摄像头预览区、推流地址文本框和推流按钮其余三个为播放端界面包括拉流预览区、拉流地址文本框和拉流按钮。
3.添加相应功能
推流端代码fmle.cpp基本不用改动fmlp.cpp及fmlp.h需要微调以适应复用功能。修改主对话框代码使播放端增加到三个并传递相关参数到fmlp内部以作识别用
myFmlp1 new fmlp();
myFmlp1-btnID IDC_playBtn;
myFmlp1-videoID IDC_remotePIC;
myFmlp1-start(playURL, 640, 480);myFmlp2 new fmlp();
myFmlp2-btnID IDC_playBtn2;
myFmlp2-videoID IDC_remotePIC2;
myFmlp2-start(playURL, 640, 480);myFmlp3 new fmlp();
myFmlp3-btnID IDC_playBtn3;
myFmlp3-videoID IDC_remotePIC3;
myFmlp3-start(playURL, 640, 480);
3.给播放按钮添加相应的控制程序 void CflashMeetingDlg::OnBnClickedplaybtn()
{myWnd-GetDlgItem(IDC_playURL)-GetWindowText(playURL);if (playURL.GetLength() 0){MessageBox(L地址不能为空);return;}if (!myFmlp1-isRunning){myFmlp1-ifConn(playURL, 640, 480);}else{myFmlp1-isRunning false;myFmlp1-isAuPlaying false;}}
void CflashMeetingDlg::OnBnClickedplaybtn2()
{myWnd-GetDlgItem(IDC_playURL2)-GetWindowText(playURL2);if (playURL2.GetLength() 0){MessageBox(L地址不能为空);return;}if (!myFmlp2-isRunning){myFmlp2-ifConn(playURL2, 640, 480);}else{myFmlp2-isRunning false;myFmlp2-isAuPlaying false;}
}void CflashMeetingDlg::OnBnClickedplaybtn3()
{myWnd-GetDlgItem(IDC_playURL3)-GetWindowText(playURL3);if (playURL3.GetLength() 0){MessageBox(L地址不能为空);return;}if (!myFmlp3-isRunning){myFmlp3-ifConn(playURL3, 640, 480);}else{myFmlp3-isRunning false;myFmlp3-isAuPlaying false;}
}
4.调试运行效果如下 在正常情况下互联网应用延时不会超过500ms回声抑制效果良好在此基础上可以进一步完善拓展成一个可商用的视频会议软件。