qcc304x笔记之提示音配置(六)
代码逻辑分析
/*处理来自系统和内部的消息*/
uiPrompts_HandleMessage
/*从earbud_ui_prompts_table匹配当前事件是否设置了提示音*/
uiPrompts_GetPromptIndexFromMappingTable
/*提示音播放任务调度*/
uiPrompts_SchedulePromptPlay
uiPrompts_PlayPrompt
appKymeraPromptPlay
/*通知对端同步播放提示音*/
Ui_RaiseUiEvent(ui_indication_type_audio_prompt, prompt_index, time_to_play)
peerUi_ForwardToPeer(sniff_ui_event_funcptr)
peerUi_ForwardUiEventToSecondary
appPeerSigMarshalledMsgChannelTx
/*由对端请求同步播放提示音*/
peerUi_HandleMarshalledMsgChannelRxInd
peerUi_InjectUiEvent
Ui_NotifyUiEvent
ui_indication_type_audio_prompt
UiPrompts_NotifyUiIndication
uiPrompts_PlayPrompt
appKymeraPromptPlay
配置提示音
首先我们打开earbud_prompts_config_table.c文件
结合上面的代码逻辑分析,当开机的时候(POWER_ON)事件触发,就会去播放power_on_8k.sbc这个语言文件。需要说明的是,3020余3040支持两种音频格式sbc与pcm,但是实际测试中发现,如果使用高通提供的.wav格式的提示音,播音乐是播放提示音会出卡顿,所以最好还是转换为sbc格式使用。
如何新增一个事件,并加入新的提示音呢?比如新增低电提示音
1.首先我们先新增一个系统事件BATTERY_LOW
2.在earbud_ui_prompts_table中加入低电提示音配置
当低电的时候,通过TaskList_MessageSendId这个接口发送BATTERY_LOW消息,他会把消息发到所有注册到tasklist的task, led,prompt,tone模块都能收到,进而做对应的UI提示
3.把battery_low_8k.sbc加入工程中
将adk提供的wav格式的低电提示音通过工具转换为sbc格式,放到earbud\prompts文件夹,然后在MDE中加入到工程,重新编译,deploy all即可
加入提示音的时候,要注意空间大小,默认分配的是400k byte的空间,且那些.edkcs文件已经用了120k左右的空间,所以只有280k的空间可用
相关的工具资料等,请到我的博客<qcc514x_qcc304x开发调试笔记>最下面的网盘链接中下载。
本文地址:https://blog.csdn.net/ylangeia/article/details/107287220
上一篇: PHP与HTML混写的方式总结
下一篇: 朱有鹏老师课程总结指针数组和数组指针
推荐阅读
-
thinkPHP学习笔记之安装配置篇
-
Spring学习笔记之RedisTemplate的配置与使用教程
-
Spring学习笔记之RedisTemplate的配置与使用教程
-
SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用
-
SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用
-
微信小程序学习笔记之目录结构、基本配置图文详解
-
mybatis学习笔记之mybatis注解配置详解
-
前端笔记之微信小程序(三)GET请求案例&文件上传和相册API&配置https
-
微信小程序学习笔记之目录结构、基本配置图文详解
-
Vue2.5学习笔记之如何在项目中使用和配置Vue