第8课 将推流端与播放端合并为一对一音视频聊天功能

在第二章的第7课,我们实现了一个推流端,可以把音视频推送到rtmp服务器;在第一章的第4课,我们实现了一个播放器,可以正常播放rtmp音视频流。聪明的你应该可以想到了:把推流端和播放端合并在一起,就是一个最简单的一对一的音视频聊天系统。

1.备份推流端demo7并修改demo7为demo8。

2.调整主对话框尺寸,在主对话框中参考第4课源文件添加名为IDC_playPic的Picture Control控件。

3.复制demo4中的fmlp.h和fmlp.cpp到demo8工程目录下,与fmle.h和fmle.cpp保持在同一目录。

4.将fmlp.h和fmlp.cpp导入到demo8解决方案中。

     

3.    复制第4课工程主对话的drawMatOfPlay定义和方法到当前工程,并在当前工程主对话框中添加以下代码以使播放端工作:

fmle *myFmle = new fmle();
fmlp *myFmlp = new fmlp();

4.修改fmle.cpp中的推流地址和fmlp.cpp中的播放地址使二者保持一致,如均为"rtmp://192.168.0.100/live/01";

5.调试运行,推流端能正常捕获摄像头图像并预览,播放端可以正常播放摄像头画面并听到声音则大功告成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/326398.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

迭代实现二叉树的遍历(算法村第七关黄金挑战)

迭代实现前序遍历 144. 二叉树的前序遍历 - 力扣(LeetCode) 题解的迭代方式 因为在递归的过程中使用了系统栈,所以在迭代的解法中常用 Stack 来模拟系统栈,来模拟递归。 首先创建一个 Stack 用来存放节点,此时 Sta…

SpringCloud系列篇:入门讲解Spring Cloud是什么

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于SpringCloud的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Spring Cloud是什么 二.Spring …

哈尔滨爆火的背后有什么值得我们学习的,2024普通人如何创业/2024风口行业

这个冬天,“南方小土豆”带火东北冰雪游。“冰城”黑龙江哈尔滨的文旅市场异常火爆,元旦假期3天,哈尔滨市累计接待游客304.79万人次,实现旅游总收入59.14亿元。旅游总收入达到历史峰值。哈尔滨旅游怎么就爆火了?背后究…

彻底卸载 Microsoft Edge

如果您想学习如何在 Windows 10 上卸载 Microsoft Edge,您并不孤单。尽管目前基于 Chromium 的 Microsoft 浏览器版本比以前的 Edge 版本要好得多,但它仍然是一个不受欢迎的浏览器。 尽管您需要在 PC 上预装浏览器才能安装其他浏览器,但许多…

AcWing 853. 有边数限制的最短路—bellman-ford算法

问题链接:AcWing 853. 有边数限制的最短路 问题描述 分析 bellman-ford算法可以用来解决带负权边的最短路问题,这是相比于DJ算法优秀的地方,但是要注意的是能解决带负权边的最短路问题,如果负权边构成了负权回路,那就有可能求不出…

【InternLM】书生-浦语大模型demo搭建服务接口部署本地映射

目录 前言一、InternLM大模型介绍1-1、大模型简介1-2、InternLM大模型简介1-2-1、InternLM-7B1-2-2、InternLM-20B 二、从0开始搭建InternLM-Chat-7B 智能对话 Demo2-0、环境搭建2-1、创建虚拟环境2-2、导入所需要的包2-3、模型下载2-4、代码克隆2-5、终端运行 三、服务器接口部…

解决“由于找不到d3dx9_43.dll无法继续执行代码”的5种方法

找不到d3dx9_43.dll文件导致无法继续执行代码的问题,通常是由于DirectX组件缺失或损坏引起的。这个错误通常出现在运行某些游戏或应用程序时,它会导致程序无法正常运行。下面我将介绍5种解决找不到d3dx9_43.dll的方法。 一、d3dx9_43.dll的文件属性&…

Python从入门到精通总结规划

Python从入门到精通专栏:http://t.csdnimg.cn/4Lals 时光飞逝,转眼间我们的Python从入门到精通专栏已经接近尾声。 在这里,向大家表示最诚挚的感谢。感谢你们一直以来对Python学习的热情,以及对本专栏的持续关注和支持。 回顾过去…

跨平台开发教学:构建同时支持iOS和Android的教育网校APP

当下,教育行业也逐渐迎来了数字化转型的时代。构建一款支持iOS和Android的教育网校APP,不仅可以提供更好的用户体验,还能扩大应用的覆盖面,满足不同用户群体的需求。 一、选择合适的跨平台开发框架 在开始构建教育网校APP之前&a…

Vue中使用Element UI的Table组件实现嵌套表格(最简单示例)

以下是一个简单的示例代码&#xff0c;演示如何在Vue中使用Element UI的Table组件实现嵌套表格&#xff1a; html <template><div><el-table :data"tableData" style"width: 100%"><el-table-column prop"name" label&quo…

通信触发流程

该示例方案主要介绍如何通过建立的Modbus或TCP通信来实现触发方案、协议解析、发送事件和以及响应配置等功能。 需求&#xff1a;使用Modbus通信触发指定流程运行。 搭建思路&#xff1a;在接收事件中使用协议组装&#xff0c;比较规则选择上升沿&#xff0c;当接收到的值从其…

3d全景怎么拍摄?应用领域有哪些?

3d全景技术是综合了VR技术和全景拍摄的一种新型应用技术&#xff0c;通过3D全景技术可以为用户带来720度无死角的观看方式和真实的观看体验&#xff0c;那么3d全景是怎么拍摄制作的呢&#xff1f;应用领域又有哪些呢&#xff1f; 3d全景拍摄制作流程其实不难&#xff0c;常见的…