在我的项目中,我用有效载荷处理了收到的RTP数据包,并将所有有效载荷提取到单独的缓冲区中。该有效载荷是-PCM ALAW(类型8)。如何实现一个将作为参数的类-文件名和带有原始数据的缓冲区以创建音频文件。为了将原始数据编码为音频文件,我到底需要经过哪些步骤?作为一个例子,我使用了这个例子。
听起来太复杂了。“ PCM ALAW”有点误导,但是很明显,它意味着G.711 aLaw编码。这是一个微不足道的“压缩”,它将每个16位PCM样本映射到8位值。因此,进行简单的查找即可解决该问题。
甚至提供aLaw编码的免费实现。只需将每个样本转换为16位PCM,在其前面填充标准Microsoft WAVE标头,然后调用结果.WAV
。
您需要根据RTP类型8填写一些WAV标头。主要是“单声道,8000 Hz,每个样本16位”。标头的一个小问题是,只有知道了多少样本后才能编写完整的标头。每当您收到RTP数据包时,都可以更新标头,但这会占用大量I / O。每10个数据包执行一次大约更好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句