MTK 平台HAL层将单声道数据搬移至另一个声道

本文介绍了一段针对AudioALSACaptureDataClient类中的CheckNeedDataConvert方法进行的数据转换代码。主要内容包括根据不同的条件判断是否需要将单声道数据转换为立体声数据,以及如何进行数据转换的具体实现。

 AudioALSACaptureDataClient::CheckNeedDataConvert 中 加入以下代码

  if( factory_test_mode != true )
+    {
+           if (mStreamAttributeTarget->BesRecord_Info.besrecord_enable == true)
+           {
+               //need return stereo data
+              if (num_channel == 2)
+               {
+                  if (!mBesRecordStereoMode) //speech enhancement output data is mono, need to convert to stereo
+                   {
+                       short left;
+                       short right;
+                       int copysize = bytes >> 2;
+
+                       while (copysize)    //only left channel data is processed
+                       {
+                           left = *(buffer);
+                           *(buffer) = left;
+                           *(buffer + 1) = left;
+                           buffer += 2;
+                           copysize--; 
+                       } 
+                   }
+               }
+           }
     }
+    else
+       {
+               
+        short right;
+        int copysize = bytes >> 2;
+
+        while (copysize)    //only left channel data is processed
+        {
+                       right = *(buffer+1);
+            *(buffer) = right;
+            *(buffer + 1) = right;
+            buffer += 2;
+            copysize--;
+           
+        }
+               
+       }
+   

+
+        while (copysize)    //only left channel data is processed
+        {
+                       right = *(buffer+1);
+            *(buffer) = right;
+            *(buffer + 1) = right;
+            buffer += 2;
+            copysize--;
+           
+        }
+               
+       }
+   

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值