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

被折叠的 条评论
为什么被折叠?



