Lte-Voip通话与3G通话的PCM语音区别

       两个手机同时打开Lte-Voip,通话,由于之前做了一个加密功能,

在3G,2G通话都没有问题,正常,其中一个手机是4G,也正常;如果

同时是4G Voip,会出现提示“网络信号错误,丢失,无法通话”;

        查看了初步的代码,得出基本的结论,修改的代码不会影响网络,只

可能是Modem直接死掉;然后根据这个原则,判断是内存分配或使用上的问题;

经过log打印,发现果真如此。

         原来2G,3G,4G在数据的up,dn时,所采用的编码格式不一样,4G Voip

实际上走的数据业务,可通讯的语音数据量大了一倍640,另外4G语音PCM采样率也大一倍16K,

所以问题.... 

解决方案,使用动态获取返回大小。

Android侧代码:

retval = mSpeechMessenger->readMdDataFromShareMemory(
                             mP4WSDBuf,
                             &data_type,
                             &data_size,
                             p_sph_msg->length,
                             p_sph_msg->rw_index);

 

        // share memory
        retval = mSpeechMessenger->writeApDataToShareMemory(mMicData,
                                                            SHARE_BUFF_DATA_TYPE_PCM_FillSE,
                                                            320,  /  首要怀疑点,
                                                            &payload_length,
                                                            &write_idx);

Modem侧代码:

void spc_pcmNWay_writeSEDataDone(kal_uint16 offset,  {

   ASSERT(info.syncWord == 0xA2A2);
   ASSERT(info.type == AUD_CCCI_STRMBUF_TYPE_PCM_FillSE);
   ASSERT(info.length == (length - sizeof(spcBufInfo)));

    if(info.length >0){
        ASSERT(info.length == gSpc_Pcm4way.seBufSize);

 

3G移动语音编码

AMR家族则包含了:AMR、AMR-WB、AMR-WB+

AMR-WB(wideband extension)是AMR的升级版;由于AMR-WB的语音带宽很宽(50 Hz~7 kHz),

所以它的语音品质很高。它具有9种采样速率(都是非立体声),分别是:23.85 kbps、23.05 kbps、

19.85 kbps、18.25 kbps、15.85 kbps、14.25 kbps、12.65 kbps、8.85 kbps、6.6 kbps。其中,

能够保持高的语音品质,并且速率最低者是12.65 kbps。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值