加载中…
个人资料
蓝人
蓝人
  • 博客等级:
  • 博客积分:0
  • 博客访问:146,879
  • 关注人气:61
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

[FAQ16933]如何通过软件修改将声音左右声道输出调换?

(2019-05-31 11:12:53)
标签:

faq

分类: mtk
偶尔碰到客户硬件工程师将左右声道反接,通过SW将左右声道输出反转
原理是在APM处理中自行添加一个APM task,在此Task中将左右声道的PCM数据对调
[SOLUTION]
1.修改enum定义APM_TaskID,在最后添加:APM_TASKID_LRRVT
2.修改文件apm_TaskDef.c,添加定义:
const APM_TASK_PARA FHtest_Analyzer = {
APM_TASKID_LRRVT,
APM_PROPERTY_READ_WRITE,
5,
0,
NULL,
NULL,
NULL,
FHtest_Process,
NULL
};
3.修改数组const APM_TASK_PARA *apmTaskList:
在null之前添加:
&FHtest_Analyzer,
4.在代码中定义函数:
kal_bool FHtest_Process(APM_Buffer *buf, APM_Info *info)
{
int32 i;
kal_int16 *p1,*p2,dl,dr;
p1=buf->inBuf;
p2=buf->outBuf;
for(i=0;iinBufLen/2;i++){
dl=*p1++;
dr=*p1++;
*p2++=dr;
*p2++=dl;
}
}
5.修改函数void L1Audio_Task(unsigned argc, void *argv)
在 APM_Init();
之后添加:
HOST_APM_Register(APM_TASKID_LRRVT);
http://bbs.16rd.com/thread-474819-1-1.html

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有