java - 如何将 rtp 数据包有效负载字节转换为任何音频数据?
问题描述
我在不使用任何第三方库的情况下用 java 制作项目。我已经使用DatagramSocket
. 然后我开始使用 sip 协议进行通信。我已经成功通过了注册和邀请阶段。这就是我获得音频数据流将被传输到的主机和端口的方式。然后我成功地建立了到新地址的连接使用DatagramSocket
. 我开始以 rtp 数据包的形式接收数据。我成功地从包中获取了以下数据:有效负载类型(在我的情况下为 8 或 PCMA)、时间戳、序列号和有效负载数据(字节数组)。现在我想处理接收到的数据,以便将来可以使用它。即保存到磁盘,随意转换成任何其他音频格式,播放音频等等。我无法弄清楚从数据包中接收到的字节数组到底需要做什么。
假设首先我想将接收到的数据保存到AudioFormat.Encoding.PCM_FLOAT
8000.0 Hz、8 位、单声道、160 字节/帧格式的文件中。我需要为此做些什么?
解决方案
推荐阅读
- sql - 使用数组元素设置变量
- javascript - 我无法获取/显示跨度的输入值(在 IFRAME 中)
- javascript - 导航侦听器中的本机导航错误路由参数
- django - 如何修复 django 中的错误凭据错误
- c# - 如何使用闭包从发出的方法调用 DynamicMethod
- javascript - 有条件地将类应用于列表中的特定项目 Vue.js 3.0
- java - 使用 JWT 授权微服务
- sql - 如何在嵌套的双美元符号交叉表查询中使用 postgres 参数
- scala - Scala 和 playframework 在节点之间共享缓存
- javascript - 如何将 axios 包添加到我正在处理的 chrome 扩展中?