📄 aud_vrsi_main.c
字号:
/*****************************************************************************
* FUNCTION
* aud_vrsi_process_ind_hdlr
* DESCRIPTION
*
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vrsi_process_ind_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vrsi_process_ind_struct *msg_p = (media_vrsi_process_ind_struct*) ilm_ptr->local_para_ptr;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (vrsi_ctx.state != MED_AUD_VRSI_STATE_PROCESS)
{
return;
}
switch (msg_p->proc_type)
{
case VRSI_PROCESS:
VRSI_Process();
break;
case VRSI_RECOG_MPR:
aud_send_vrsi_rcg_prompt_req(MOD_MMI, vrsi_ctx.session_id, MED_VRSI_CMD_RCG_PROMPT);
break;
case VRSI_RECOG_OK:
vrsi_ctx.state = MED_AUD_VRSI_STATE_READY;
VRSI_ReadResult((void **)&(vrsi_ctx.recog_result));
vrsi_ctx.session_on = KAL_FALSE;
aud_send_vrsi_rcg_result_ind(MOD_MMI, vrsi_ctx.session_id, vrsi_ctx.recog_result->resType);
break;
case VRSI_DIGIT_RECOG_MPR:
aud_send_vrsi_rcg_prompt_req(MOD_MMI, vrsi_ctx.session_id, MED_VRSI_DGT_RCG_PROMPT);
break;
case VRSI_DIGIT_RECOG_OK:
vrsi_ctx.state = MED_AUD_VRSI_STATE_READY;
VRSI_ReadResult((void **)&(vrsi_ctx.dgt_rcg_result));
vrsi_ctx.session_on = KAL_FALSE;
aud_send_vrsi_rcg_result_ind(MOD_MMI, vrsi_ctx.session_id, 0);
break;
case VRSI_DIGIT_ADAPT_MPR:
VRSI_ReadPrompt(&vrsi_ctx.pmp_len, &vrsi_ctx.pmp_text);
aud_send_vrsi_trn_prompt_req(MOD_MMI, vrsi_ctx.session_id, MED_VRSI_1ST_DGT_ADP_PROMPT);
break;
case VRSI_DIGIT_ADAPT_OK:
vrsi_ctx.state = MED_AUD_VRSI_STATE_READY;
vrsi_ctx.session_on = KAL_FALSE;
aud_send_vrsi_trn_result_ind(MOD_MMI, vrsi_ctx.session_id, 0);
break;
case VRSI_TRAIN_TAG_1ST_MPR:
aud_send_vrsi_trn_prompt_req(MOD_MMI, vrsi_ctx.session_id, MED_VRSI_1ST_TRN_PROMPT);
break;
case VRSI_TRAIN_TAG_2ND_MPR:
aud_send_vrsi_trn_prompt_req(MOD_MMI, vrsi_ctx.session_id, MED_VRSI_2ND_TRN_PROMPT);
break;
case VRSI_TRAIN_TAG_OK:
vrsi_ctx.state = MED_AUD_VRSI_STATE_READY;
vrsi_ctx.session_on = KAL_FALSE;
aud_send_vrsi_trn_result_ind(MOD_MMI, vrsi_ctx.session_id, vrsi_ctx.tag_param.tagID);
break;
case VRSI_ADD_TAGS_OK:
vrsi_ctx.state = MED_AUD_VRSI_STATE_READY;
vrsi_ctx.session_on = KAL_FALSE;
aud_vrsi_save_addtags_result();
aud_set_result(MED_RES_OK);
VRSI_SET_EVENT(VRSI_EVT_ADD_TAGS);
break;
case VRSI_TTS_OK:
vrsi_ctx.state = MED_AUD_VRSI_STATE_READY;
vrsi_ctx.session_on = KAL_FALSE;
aud_send_vrsi_play_tts_finish_ind(MOD_MMI, vrsi_ctx.session_id);
break;
case VRSI_PLAY_TAG_OK:
vrsi_ctx.state = MED_AUD_VRSI_STATE_READY;
vrsi_ctx.session_on = KAL_FALSE;
aud_send_vrsi_play_tag_finish_ind(MOD_MMI, vrsi_ctx.session_id);
break;
case VRSI_ERROR:
vrsi_ctx.state = MED_AUD_VRSI_STATE_READY;
vrsi_ctx.session_on = KAL_FALSE;
aud_send_vrsi_err_ind(MOD_MMI, vrsi_ctx.session_id);
break;
}
}
/* play */
/*****************************************************************************
* FUNCTION
* aud_vrsi_play_tag_req_hdlr
* DESCRIPTION
*
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vrsi_play_tag_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vrsi_play_tag_req_struct *msg_p = (media_vrsi_play_tag_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (!vrsi_ctx.session_on || vrsi_ctx.session_id != msg_p->session_id)
{
result = MED_RES_VRSI_ERR_SESSION;
}
else
{
SET_CURRENT_VOLUME_LEVEL(AUD_VOLUME_MEDIA, msg_p->volume);
aud_set_active_ring_tone_volume();
aud_context_p->melody_output_device = msg_p->output_path;
aud_get_active_device_path_by_mode(msg_p->output_path, aud_melody_set_output_device);
vrsi_ctx.grammar = msg_p->grammar;
result = aud_vrsi_play_tag(msg_p->tag_id);
}
aud_set_result(result);
VRSI_SET_EVENT(VRSI_EVT_PLAY_TAG);
}
/*****************************************************************************
* FUNCTION
* aud_vrsi_play_tts_req_hdlr
* DESCRIPTION
*
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vrsi_play_tts_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vrsi_play_tts_req_struct *msg_p = (media_vrsi_play_tts_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (!vrsi_ctx.session_on || vrsi_ctx.session_id != msg_p->session_id)
{
result = MED_RES_VRSI_ERR_SESSION;
}
else
{
SET_CURRENT_VOLUME_LEVEL(AUD_VOLUME_MEDIA, msg_p->volume);
aud_set_active_ring_tone_volume();
aud_context_p->melody_output_device = msg_p->output_path;
aud_get_active_device_path_by_mode(msg_p->output_path,aud_melody_set_output_device);
vrsi_ctx.pmp_text = msg_p->text;
result = aud_vrsi_play_tts(msg_p->lang);
}
aud_set_result(result);
VRSI_SET_EVENT(VRSI_EVT_PLAY_TTS);
}
/* database maagement : ok */
/*****************************************************************************
* FUNCTION
* aud_vrsi_get_tagnum_req_hdlr
* DESCRIPTION
*
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vrsi_get_tagnum_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vrsi_get_tagnum_req_struct *msg_p = (media_vrsi_get_tagnum_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (vrsi_ctx.session_on)
{
result = MED_RES_VRSI_ERR_BUSY;
}
else
{
vrsi_ctx.grammar = msg_p->grammar;
result = aud_vrsi_get_tagnum(msg_p->tag_num);
}
aud_set_result(result);
VRSI_SET_EVENT(VRSI_EVT_GET_TAG_NUM);
}
/*****************************************************************************
* FUNCTION
* aud_vrsi_get_taginfo_req_hdlr
* DESCRIPTION
*
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vrsi_get_taginfo_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vrsi_get_taginfo_req_struct *msg_p = (media_vrsi_get_taginfo_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (vrsi_ctx.session_on)
{
result = MED_RES_VRSI_ERR_BUSY;
}
else
{
vrsi_ctx.grammar = msg_p->grammar;
result = aud_vrsi_get_tag_info(msg_p->tag_num, msg_p->id_list, msg_p->name_list, msg_p->long_list);
}
aud_set_result(result);
VRSI_SET_EVENT(VRSI_EVT_GET_TAG_INFO);
}
/*****************************************************************************
* FUNCTION
* aud_vrsi_del_tags_req_hdlr
* DESCRIPTION
*
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vrsi_del_tags_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vrsi_del_tags_req_struct *msg_p = (media_vrsi_del_tags_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (vrsi_ctx.session_on)
{
result = MED_RES_VRSI_ERR_BUSY;
}
else
{
vrsi_ctx.grammar = msg_p->grammar;
result = aud_vrsi_del_tags(msg_p->tag_num, msg_p->id_list);
}
aud_set_result(result);
VRSI_SET_EVENT(VRSI_EVT_DEL_TAGS);
}
/*****************************************************************************
* FUNCTION
* aud_vrsi_reset_tags_req_hdlr
* DESCRIPTION
*
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vrsi_reset_tags_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vrsi_reset_tags_req_struct *msg_p = (media_vrsi_reset_tags_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (vrsi_ctx.session_on)
{
result = MED_RES_VRSI_ERR_BUSY;
}
else
{
vrsi_ctx.grammar = msg_p->grammar;
result = aud_vrsi_reset_tags();
}
aud_set_result(result);
VRSI_SET_EVENT(VRSI_EVT_RESET_TAGS);
}
/*****************************************************************************
* FUNCTION
* aud_vrsi_sync_db_req_hdlr
* DESCRIPTION
*
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vrsi_sync_db_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vrsi_sync_db_req_struct *msg_p = (media_vrsi_sync_db_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (vrsi_ctx.session_on)
{
result = MED_RES_VRSI_ERR_BUSY;
}
else
{
vrsi_ctx.grammar = msg_p->grammar;
if (msg_p->name_list == NULL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -