WebRTC源码分析之工程-project


学习WebRTC避免不了自己弄个工程,写点代码调用调用WebRTC。

常见的方式有三种:

  • 自己创建工程,把WebRTC当做库使用。
  • 抽取代码,构建自己工程。这种方式对于小工程还可以,若是稍大些工程,关联的代码太多,抽取难度太大。
  • 在源代码的工程基础上,添加新的工程。这种方式实现简单,若只是做些简单的调用,还是很方便的。

下面介绍一下如何在原有工程基础上,添加新的工程。

创建工程所在的文件夹

先找到WebRTC经典示例peerconnection所在的目录src\examples,在该目录下创建自己工程的目录webrtclearn,之后自己添加的文件都放在这个目录中。

创建自己的工程

找到src\examples\BUILD.gn,在这个文件675行左右,添加如下内容。

...
    
if (is_linux || is_win) {

  #以下是新添加的内容
  #################################################
  rtc_executable("webrtc_learn"){
      testonly = true
    sources = [
          #自己添加的工程文件
    ]
    deps = [
          #依赖的库
    ]
  }
  #################################################
    
  rtc_executable("peerconnection_client") {
    testonly = true
    sources = [
      "peerconnection/client/conductor.cc",
...

在这里插入图片描述
重启VS,会多出一个webrtc_learn工程。

Ubuntu上还需要在src\examples\BUILD.gn53行左右,添加如下内容:

...
if (is_linux || is_win) {
  deps += [
    ":peerconnection_server",
    ":relayserver",
    ":stunserver",
    ":turnserver",
    ":webrtc_learn",     #新添加的内容
  ]
  if (current_os != "winuwp") {
    deps += [ ":peerconnection_client" ]
  }
...

在这里插入图片描述

添加自己的文件和依赖库

webrtclearn目录中,创建main.cc文件。src\examples\BUILD.gn文件中,修改刚才添加的内容。

rtc_executable("webrtc_learn"){
    testonly = true
  sources = [
    "webrtclearn/main.cc"         #工程的文件
  ]
  deps = [
    "../rtc_base:rtc_base"        #依赖的库
  ]
}

sources:自己添加的文件记录在这里

deps:添加依赖库

运行工程

写个Demo测试是否能调用成功。在webrtclearn目录main.cc文件添加如下代码:

#include "rtc_base/logging.h"

int main() 
{
  RTC_LOG(INFO) << "hello world";

  return 0;
}

在Windows上运行结果:
在这里插入图片描述
在Ubuntu上运行结果:
在这里插入图片描述
这个示例调用了WebRTC的日志库,向标准错误(stderr)输出日志。

小结

本文介绍如何在Windows上创建VS工程,调用WebRTC代码。在Ubuntu上创建方法基本上是一样的,不一样的地方文中已经指出。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值