KWS进入休眠(待唤醒)状态
// 方法1:先停止当前引擎,再设置为唤醒模式,再启动引擎:NG
// byle_kws_stop();
// gByle_kws_ctl.engine_mode = ENGINE_KWS_MODE_WAKEUP;
// if (!get_user_play_state())
// {
// kws_tone_end_ctrl();
// }
// byle_kws_user_start(ENGINE_KWS_MODE_WAKEUP); // 关键:启动引擎进入唤醒模式
// 方法2: SDK中从命令模式切换到唤醒模式的标准流程:NG 进入后唤醒不了
// if (gByle_kws_ctl.engine_mode == ENGINE_KWS_MODE_CMD)
// wait_kws_stop_flag(); // 等待引擎停止(不是直接调用byle_kws_stop)
// if (!byle_kws_is_running())
// {
// gByle_kws_ctl.engine_mode = ENGINE_KWS_MODE_WAKEUP;
// set_kws_start_flag(1); // 设置启动标志(不是直接调用byle_kws_user_start)
// os_sem_post(&gByle_kws_ctl.mic_adc_sem);
// }
// 发送消息到KWS任务的消息队列,由消息处理函数处理:没有效果
// os_taskq_post_event("byle_kws", 2, MSG_BYLE_KWS_WAKEUP, 0);
// 方法3: SDK标准流程:先停止引擎ok
byle_kws_stop();
// 设置唤醒模式并使用标志启动(SDK标准方式)
gByle_kws_ctl.engine_mode = ENGINE_KWS_MODE_WAKEUP;
set_kws_start_flag(1);
os_sem_post(&gByle_kws_ctl.mic_adc_sem);
浙公网安备 33010602011771号