杰理AC690X系列---DACR做外音输入通道声音小的问题(7)
2018-03-30 11:11
309 查看
我们在做项目时经常会用到DAC有声道做外音输入,DAC左声道做输出的情况。
有些客户测试的比较细,会发现外音输入时声音比蓝牙或其他模式的声音小。
这种情况本人遇到很多遍,目前解决方法如下:
在dac.c文件下写一个子函数void dac_differnt_output(s16 *buf)
{
u8 i;
s16 *s16_ptr;
s32 temp_dac_buf;
s16_ptr = buf;
for(i=0;i<DAC_DUAL_BUF_LEN;i=i+2)
{
temp_dac_buf = s16_ptr[i]<<1;
if(temp_dac_buf > 32767)
temp_dac_buf = 32767;
else if(temp_dac_buf < -32768)
temp_dac_buf = -32768;
s16_ptr[i] = (s16)temp_dac_buf;
}
for(i=1;i<DAC_DUAL_BUF_LEN;i=i+2)
{
temp_dac_buf = s16_ptr[i]<<1;
if(temp_dac_buf > 32767)
temp_dac_buf = 32767;
else if(temp_dac_buf < -32768)
temp_dac_buf = -32768;
s16_ptr[i] = (s16)temp_dac_buf;
}
}然后在下面位置调用:
注意只能在外音模式下调用,不然其他模式声音也会变大。
完成以上步骤后,我们找到linein.c文件
在aux_dac_channel_on()这个函数实体的末尾把DACR的音量设置为0
然后在static void linein_task_exit(void)这个函数的实体中恢复DACR的音量
添加完上面所有代码,你会发现外音输入声音大小和蓝牙的声音大小一样了。
当然了,音量加减那一块也要分模式处理,这个就不细讲了。
有些客户测试的比较细,会发现外音输入时声音比蓝牙或其他模式的声音小。
这种情况本人遇到很多遍,目前解决方法如下:
在dac.c文件下写一个子函数void dac_differnt_output(s16 *buf)
{
u8 i;
s16 *s16_ptr;
s32 temp_dac_buf;
s16_ptr = buf;
for(i=0;i<DAC_DUAL_BUF_LEN;i=i+2)
{
temp_dac_buf = s16_ptr[i]<<1;
if(temp_dac_buf > 32767)
temp_dac_buf = 32767;
else if(temp_dac_buf < -32768)
temp_dac_buf = -32768;
s16_ptr[i] = (s16)temp_dac_buf;
}
for(i=1;i<DAC_DUAL_BUF_LEN;i=i+2)
{
temp_dac_buf = s16_ptr[i]<<1;
if(temp_dac_buf > 32767)
temp_dac_buf = 32767;
else if(temp_dac_buf < -32768)
temp_dac_buf = -32768;
s16_ptr[i] = (s16)temp_dac_buf;
}
}然后在下面位置调用:
注意只能在外音模式下调用,不然其他模式声音也会变大。
完成以上步骤后,我们找到linein.c文件
在aux_dac_channel_on()这个函数实体的末尾把DACR的音量设置为0
然后在static void linein_task_exit(void)这个函数的实体中恢复DACR的音量
添加完上面所有代码,你会发现外音输入声音大小和蓝牙的声音大小一样了。
当然了,音量加减那一块也要分模式处理,这个就不细讲了。
相关文章推荐
- 杰理AC690X系列---FM芯片进主控切换模式没声音问题(4)
- 面试问题系列:从输入网址到显示网页的全过程分析
- 杰理AC690X系列---通话功能和电量显示(2)
- HGE 系列教材(5) --- 输入、声音和渲染
- 杰理AC690X系列---在线调EQ(9)
- WinForm:一个登陆窗体引发的问题系列(二):用户名文本框的输入限制
- Struts2-Action-5-系列问题(接受用户输入(3种方式))
- windows开发常见问题系列--2 鼠标键盘输入相关
- 杰理AC690X系列---EQ工具的使用(8)
- C++基础系列:输入输出流条件状态问题
- ubuntu1.04不能输入中文系列问题
- WinForm:一个登陆窗体引发的问题系列(三):密码文本框的输入限制
- 喜羊羊系列之eclipse不能输入问题
- 杰理AC690X系列---TF卡的DATE和CLK引脚复用AD采集(6)
- 杰理AC690X系列---取消设备检测功能(3)
- ubuntu下ibus输入平台安装sunpinyin步骤及出现的系列问题解决方案
- 杰理AC690X系列---关于电机PWM和定时器映射PWM(5)
- ubuntu下ibus输入平台安装sunpinyin步骤及出现的系列问题解决方案
- 杰理AC690X系列---RGB彩灯随音乐跳动(10)
- HGE 系列教材(5) --- 输入、声音和渲染