我正在开发 VOIP Windows Phone 项目(Windows Phone 的软电话应用程序)。目前,我(Windows phone 软电话)只能接收和听到另一个软电话的声音,只有 ONE-WAY。我可以将我的语音(RTP 数据包)发送到另一个软电话,但它包含完整的噪音。我按照这个http://www.codeproject.com/Articles/14237/Using-the-G711-standard?msg=2573223#xx2573223xx对 U-law 和 PCM 之间的 RTP 数据包进行编码和解码。解码功能对我很有效,但编码却不行。
我解码 RTP 数据包并以 8000Khz 的采样率播放它(它是 U-law 格式的采样率)。这是我的播放代码:
SoundEffect soundEffect = new SoundEffect(buffer, 8000, AudioChannels.Mono);
SoundEffectInstance soundInstance = soundEffect.CreateInstance();
soundInstance.Play();
关于编码,我使用Windows Phone的麦克风录制语音=>编码为U-Law格式=>放入RTP数据包=>发送。但是这些数据包包含完整的噪音,而另一个软电话(目的地呼叫)只接收噪音和噪音。
麦克风录制数据的格式为:PCM 16 bit - 16KHz。您有什么解决方案可以帮助我解决吗?
非常感谢您。