【问题标题】:WebRTC Voice Chat Using Firebase使用 Firebase 的 WebRTC 语音聊天
【发布时间】:2018-02-18 06:57:26
【问题描述】:

我以前从未尝试过 webrtc。我有一个使用 Firebase 制作的应用程序。现在我正在尝试在其中添加语音通话功能。

所以尝试搜索一些教程,大多数是使用 PubNub 或者大多数教程是基于网络应用程序的。

我看到了这个 stackoverflow 线程并且知道可以通过 Firebase 使用 webrtc。

Voice calls over a Chat app using Firebase

在尝试了一些教程之后,我编写了这段代码,

    PeerConnectionFactory.initializeAndroidGlobals(this,false,true,true);
    PeerConnectionFactory peerConnectionFactory = new PeerConnectionFactory();
    AudioSource audioSource = peerConnectionFactory.createAudioSource(new MediaConstraints());
    AudioTrack audioTrack = peerConnectionFactory.createAudioTrack("4444",audioSource);
    audioTrack.setEnabled(true);
    MediaStream mediaStream = peerConnectionFactory.createLocalMediaStream("4444");
    mediaStream.addTrack(audioTrack);

但是我很困惑如何使用 Firebase 与其他设备共享流。需要帮助:(

【问题讨论】:

  • 你好,巴基。你实现了语音通话功能吗?

标签: java android firebase webrtc


【解决方案1】:

AFAIK 我认为Firebase 目前不支持语音通话。

另一方面,WebRTC((Web Real-Time Communication) 是一个免费的开源项目,它通过简单的应用程序编程接口 (API) 为 Web 浏览器和移动应用程序提供实时通信 (RTC)。

基本上你需要的是一个Socket,用于与SignallingServerPeerConnection 建立两个客户端之间的连接。 下面是一些开始的链接。

  1. Get started
  2. Step wise Sample for android

SignallingServer 实现也在示例中提供。您将需要NODE.JS 来运行它。 WebRTC 非常棒。

如果您想将Firebase 用作SignallingServer,您可以使用它。但我认为这将是开销而简单的Socket 可以工作。

【讨论】:

  • 我能否以某种方式使用 Google Cloud Functions for WebRTC?
  • 我的意思是在一篇文章 websitebeaver.com/… 上。他只使用 Firebase 和 webrtc 创建了一个视频聊天应用。但那是在 javascript 中。
  • 我已经阅读了这篇文章 It's using firebase for signaling purpose only as it's a real time database 。我建议您使用我上面提供的解决方案。这很简单,也不那么复杂。它使用 socket.io 作为用于信令的套接字。
  • 我认为使用 Firebase 进行信号传输会产生开销,而您可以直接使用 Socket。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-03
  • 1970-01-01
  • 2010-12-04
  • 2019-10-06
  • 2013-08-11
  • 2019-03-24
相关资源
最近更新 更多