【问题标题】:How can I use WebRTC in a desktop application for voice chat?如何在桌面应用程序中使用 WebRTC 进行语音聊天?
【发布时间】:2019-10-06 13:35:10
【问题描述】:

我正在尝试使用我的软件在同行之间添加语音聊天 - 桌面应用程序通过网络添加到桌面应用程序。我的软件与 Windows 和 OSX 兼容。困难在于似乎很少有关于使用原生 API 的文档,而且我遇到的所有教程都已过时。

我开始构建库并将它们链接到一个新项目中,但正如我所提到的,我在 Internet 上找到的教程已经过时了好几年,所以我并没有走得太远。

因此,我按照这些说明 https://webrtc.org/native-code/development/ 构建了本机代码,并成功使用了 peerconnection_client 和 -_server,效果很好。

我现在的问题是 peerconnection_client 比我需要的更复杂,而且我发现很难提取相关部分(我想删除 GUI,以编程方式连接到对等点,并且只传输音频)。即使我确实设法剥离了 peerconnection_client 代码,只通过终端进行语音呼叫,仍然有很多代码要嵌入到我的程序中,因为它没有链接到库,而是原始代码。

之前有没有其他人尝试过以这种方式将 WebRTC 用于本机桌面应用程序?我可以使用任何最新的文档吗?任何帮助将不胜感激。

【问题讨论】:

  • 为了有最好的机会获得有价值的反馈,您应该更具体地提出您的问题。不要指望读者去另一个网站去理解这个问题。请参阅How to Askminimal reproducible example

标签: c++ webrtc desktop-application


【解决方案1】:

最好的解决方案是使用这个项目: CEF project

您将从一个项目中获得 mac os、windows 和 linux 实现。

您可以随时更新您的 cef 库以保持正常运行。

您也可以使用 Firefox 变体:

Firefox implementation

还有很多其他方法,例如:

QT 框架https://www.qt.io/

【讨论】:

    【解决方案2】:

    我使用原生 C++ API 参与了几个 IP 语音/视频/屏幕项目,我的建议是:除非您有大量时间,否则不要这样做。 Native API/samples 是非常废弃的软件 - Google 开发人员将其与 Chrome 保持同步,但您只能靠自己,当您的代码在更新到较新版本后停止工作时,您必须深入研究 WebRTC 和 Chrome 问题和 PR分支。 唯一的文档是源代码本身,有很多 cmets,但仍然很难弄清楚。而且这些事情往往会从一个版本更改为另一个版本

    【讨论】:

    • 我同意 WebRTC 可能不是要走的路...您能否推荐一个替代解决方案,或者您的建议是完全放弃希望?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多