提示音修改介绍
Hi 大家好!大家都知道在开发TWS耳机或者立体声耳机时客户都会自定义提示音。所以现在每个平台都有开放自定义提示音的功能,如:高通、络达、中科蓝讯、炬芯等
下面咱们就讲解下BES添加提示音的过程。
- 在添加自定义提示音之前需要获得提示音文件,获得到的提示音往往是 *.wav、*.mp3等格式。然而代码中只识别一种提示音的格式,那就是*.txt 文件格式。
1)、如何转化成BES内部可以识别格式?使用的工具Cool Edit Pro 2.1
如果获取到的提示音格式不是*.wav 格式需要手动转化为*.wav格式。
将不是wav格式的另存为wav格式保存,如下图:
2)、即使是*.wav 格式也有可能不是符合BES内部正常解码的格式,所以接下来我们需要将音频文件转化为BES内部能正常解码的类型。
步骤如下:
1.1)、进入批量处理处理音频文件
1.2)、添加需要转换格式的音频文件
1.3)、设置音频文件是能够被BES内部正常解码的音频文件。
这里为什么必须选择16000的采样率?是因为代码里面将采样率写死了,所以这里就选择16KHz的采用率。可以修改,这改动需要与代码中的一致,代码如下:
1.4)、选择转换的格式,并导出
1.5)、将转换出来符合格式的*.wav格式转换为 *.txt 文件。
需要使用到 wav2sbc.exe 将 *.wav 文件转换为 *.txt 文件。使用命令如下:wav2sbc.exe -s *.wav -D100 -b53
*.wav 是需要转换的提示音
PS:将转换的文件存放在flash中,有些芯片分配给提示音的空间比较小存放不了你添加的提示音,所以需要将提示音的大小改小。改小的方式有两种:1、将提示音的采样率改为8KHz 2、转换为*.txt文件时 -b53 改小一些。如:-b38 (可以修改的范围 -b2 ~ -b53)
以上两种修改的方式都会将提示音的音质降低,需要看着情况去修改。
- 将转换的 *.txt 文件存放在固定的文件夹中。
项目名\config\_default_cfg_src_\res\en (PS:模式使用的是英文提示音,所以模式存放在en目录中,当然也可以放在cn目录中。不做固定要求)
- 外部文件中的添加在上面一步就全部完成了。接下来是在代码工程中去修改了。首先需要将添加在res文件夹中的音频 *.txt 文件的定义添加到代码中,方便程序运行时正确的读取。如下修改:
修改文件如下:
- 添加代码中读取 *.txt 文件中的buffer 为后面解码使用
- 上层调用的接口函数中也需要做修改。如下图:
- 致此提示音的添加已经操作完成了。
注意事项:
- 在转换为 *.txt 文件的时候需要确定音频文件的采样率是多少,代码中模式支持的是16KHz。采样率可以修改为8KHz
-
有很多SDK不知道提示音和音乐mix 播放。如果需要 mix 播放如下图
-
TWS的耳机需要提示音同步、将同步的宏打开,修改如下:
- 将 mix 播放的宏 export MIX_AUDIO_PROMPT_WITH_A2DP_MEDIA_ENABLED ?= 1 时,会出现提示音在播放音乐或者通话中会比不播放的时候明显大。这个问题可以在代码中修改,现在的2500系列的SDK已经将这个问题解决了。下面是针对2500 系列之前的进行修改,修改部分如下图:
- 注释提示音,修改如下图:
- 如果在播放提示音的时候出现杂音就需要看下提示音前面或者后面有没有波动,在音频出现之前或者之后确保是平的
-