当前位置: 移动技术网 > IT编程>开发语言>JavaScript > qcc304x笔记之提示音配置(六)

qcc304x笔记之提示音配置(六)

2020年07月13日  | 移动技术网IT编程  | 我要评论

代码逻辑分析

/*处理来自系统和内部的消息*/
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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网