0

我正在开发一个不需要在 PSTN 上运行的 android voip 应用程序。我完全是这个领域的新手,任何一点帮助都将不胜感激。

我首先研究了 whatsapp 语音通话的工作原理,发现它使用的是开源 sip 堆栈库 PJSIP(来源:What's up with WhatsApp and WebRTC? - webrtcHacks)。我还发现 voip 中使用编解码器来压缩然后解压缩 voip 数据包。

知道我对那些 sip 库和编解码器感到非常困惑。android voip 应用程序是否必须具有实现 sip 库?每个 sip 库都支持一些编解码器。

是否有任何通用格式可以让我在我的 android 应用程序中集成任何编解码器,无论是 OPUS 还是 Speex 或类似的独立于 sip 实现的东西?

可能是我听起来太混乱了,但这是真的。即使在这个特定主题上搜索这么多也没有帮助我,我的最后一站是这个社区。任何小的指导将不胜感激。

4

1 回答 1

0

是的,通常每个应用程序都自己实现编解码器。Android SDK中提供了一些编解码器,但即使在这些情况下,正确的实现也会更好。

G.711(PCMU 和 PCMA)非常简单,可以在单个 java 类中实现(如果您愿意,甚至可以在单个函数中实现)。其他的更复杂,但您可以找到几乎每个的开源实现。

另请注意,编解码器也在 PJSIP 中实现,因此如果您使用此库,那么您已经拥有最流行的编解码器。

于 2016-06-12T15:58:39.670 回答