我是这个领域的新手...我需要为 android 创建 SIP 客户端...我在开发者网站上进行了休闲演示,并创建了一些可以正常工作的应用程序。现在我需要找到一些方法来更改音频编解码器...默认编解码器是 g711...我该如何更改它???你能提供一些说明、代码或教程吗???任何帮助表示赞赏...提前致谢... 在这个类中,我找不到任何对我有帮助的东西:http://developer.android.com/reference/android/net/sip/package-summary.html
最佳答案
G711 实际上是 PCM 编解码器的别称,它有 2 种压缩算法(相同的压缩率)- 称为 PCMA 和 PCMU。这些是最标准和使用最广泛的音频编解码器,几乎任何 Sip 服务器都支持开箱即用。例如,与 Speex 相比,它们相当老旧并且无法提供良好的压缩。
SIP 通信中的音频编解码器通过 SDP 协议(protocol)在 INVITE 消息中协商。 更改音频编解码器需要执行以下步骤:
实现音频编解码器。
将此编解码器(在应用程序级别)合并到您的 sip 客户端中。高层次的说法——你有网络层(最有可能是 UDP),而不是数据层(你处理 RTP 数据包的地方)和 SIP 消息。
您需要一种机制将 RTP 数据包连接到您要使用的音频编解码器。 另一方面,您需要使用 SDP 协议(protocol)与所有参与者协商音频编解码器。
有一些示例,例如:imsdroid、csipsimple、sipdroid 等,但它们使用外部 sip-stack 实现(doubango、mjsip)。据我所知,Android sip-stack 目前还不是很通用。
关于android - SIP 如何更改音频编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9701752/