60 lines
6.0 KiB
ReStructuredText
Executable File
60 lines
6.0 KiB
ReStructuredText
Executable File
audio常见问题
|
||
=================================
|
||
|
||
|
||
:link_to_translation:`en:[English]`
|
||
|
||
1. 简介
|
||
---------------------------------
|
||
|
||
在开发audio应用时,有些常见的问题,可能会遇到,下面提供一些调试方法。
|
||
|
||
Q:打开UAC语音通话手机端听不到声音?
|
||
|
||
A:按照下述步骤排查:
|
||
* 1.检查语音通话打开流程的log,看是否有异常报错。
|
||
* 2.检查uac mic的数据量统计log ``[UAC] mic: 15KB/s, spk: 15KB/s`` ,8k采样率和16k采样率下的uac mic数据量应该分别为15KB/s和30KB/s,mic的数据量为0或者小于指定值都是不对的,说明获取uac mic数据存在异常,需要使用usb抓包工具抓取usb协议数据进一步分析。
|
||
* 3.如果uac mic数据量正常,则需要检查设备端Tx发送数据量统计log ``[AUD Tx] 7KB/s`` ,如果数据量为0,则说明wifi发包异常。
|
||
* 4.如果上述数据量检查都正常,则需要在手机apk端把接收到的mic数据dump到文件中,在pc上检查mic数据是否正常。如果mic数据正常,则说明是apk播放存在异常(例如手机音量为0,数据处理异常等);如果mic数据不正常,说明uac mic采集的原始数据可能就是异常的(例如数据全是0、数据不对等),需要使用usb抓包工具抓取usb协议数据进一步分析,确认mic数据是否异常。
|
||
|
||
Q:打开板载语音通话手机端听不到声音?
|
||
|
||
A:按照下述步骤排查:
|
||
* 1.检查语音通话打开流程的log,看是否有异常报错。
|
||
* 2.检查设备端Tx发送数据量统计log ``[AUD Tx] 7KB/s`` ,如果数据量为0,则说明wifi发包异常。
|
||
* 3.如果上述数据量检查正常,则需要在手机apk端把接收到的mic数据dump到文件中,在pc上检查mic数据是否正常。如果mic数据正常,则说明是apk播放存在异常(例如手机音量为0,数据处理异常等)。
|
||
|
||
Q:打开UAC语音通话设备端听不到声音?
|
||
|
||
A:按照下述步骤排查:
|
||
* 1.检查语音通话打开流程的log,看是否有异常报错。
|
||
* 2.需要检查设备端Rx接收数据量统计log ``[AUD Rx] 7KB/s`` ,如果数据量为0,则说明wifi收包异常。
|
||
* 3.如果Rx数据量正常,则检查uac mic的数据量统计log ``[UAC] mic: 15KB/s, spk: 15KB/s`` ,8k采样率和16k采样率下的uac speaker数据量应该分别为15KB/s和30KB/s,speaker的数据量为0或者小于指定值都是不对的,说明写uac spk数据存在异常,需要使用usb抓包工具抓取usb协议数据进一步分析。
|
||
* 4.如果上述数据量检查都正常,则需要在手机apk端把发送的mic数据dump到文件中,在pc上检查mic数据是否正常。如果数据不正常(例如数据全是0、数据不对等),则说明是apk采集的mic存在问题;如果数据正常,则需要使用usb抓包工具抓取usb协议数据进一步分析,确认向uac发送的数据是否异常,如果usb总线上的数据正常,则说明是uac模块播放存在异常,需要联系厂家处理,如果usb总线上的数据不正常,则说明wifi收包和软件处理的流程存在异常,需要使用uart将数据dump出来逐级分析。
|
||
|
||
Q:打开板载语音通话设备端听不到声音?
|
||
|
||
A:按照下述步骤排查:
|
||
* 1.检查语音通话打开流程的log,看是否有异常报错。
|
||
* 2.需要检查设备端Rx接收数据量统计log ``[AUD Rx] 7KB/s`` ,如果数据量为0,则说明wifi收包异常。
|
||
* 3.检查PA是否打开,如果PA没有打开,设备端端speaker一定是无声的。
|
||
* 4.如果数据量和PA检查正常,则需要在手机apk端把发送的mic数据dump到文件中,在pc上检查mic数据是否正常。如果数据不正常(例如数据全是0、数据不对等),则说明是apk采集的mic存在问题;如果数据正常,则说明wifi收包和软件处理的流程存在异常,需要使用uart将数据dump出来逐级分析。
|
||
|
||
Q:打开语音通话手机端听到的声音卡顿?
|
||
|
||
A:按照下述步骤排查:
|
||
* 1.需要检查设备端Tx发送的数据量统计log ``[AUD Tx] 7KB/s`` ,8k采样率和16k采样率下Tx发送的数据量分别为7KB/s和15KB/s。如果数据量小于该值,则说明wifi发包异常。
|
||
* 2.如果发包数据量检查正常,则需要检查AEC功能是否打开,如果打开了AEC功能,则声音卡顿可能是由于AEC参数没调试好导致,可以关闭AEC功能或者停止手机端发送设备端发包,再次进行复测,复测正常则说明确实是由于AEC导致,需要优化AEC参数。如果没有打开AEC功能,则需要在手机端将收到的mic数据dump出来(如果是uac mic的话,也需要使用usb抓包工具抓取usb协议数据)进一步分析。
|
||
|
||
Q:打开语音通话设备端听到的声音卡顿?
|
||
|
||
A:需要检查设备端Rx接收数据量统计log ``[AUD Rx] 7KB/s`` ,8k采样率和16k采样率下Rx接收的数据量分别为7KB/s和15KB/s,数据量在指定值附近小幅浮动(1KB/s)是正常的,如果数据量较少,远低于指定值,则说明wifi收包异常(丢包、不连续等)导致设备端声音卡顿。
|
||
|
||
Q: 板载喇叭播放的声音破音或者太小怎么办?
|
||
|
||
A:破音或者太小说明音频经过audio模块数字增益、dac模拟增益和外部PA三级放大后幅值太高或太小。有下述四种方式方案来调整:
|
||
* 1.调整输入音频的幅值。例如在语音通话场景下调整手机端采集的mic语音的幅值,然后再wifi传输到设备端播放。
|
||
* 2.调整audio模块数字增益。可以调用 ``aud_dac.h`` 文件中提供的 ``bk_aud_dac_set_gain`` 接口来设置。
|
||
* 3.调整dac模拟增益(默认为0xF)。可以调用 ``aud_dac.h`` 文件中提供的 ``bk_aud_dac_set_ana_gain`` 接口来设置。
|
||
* 4.调整外部PA的增益。可以通过调整PA匹配电路来设置。
|