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);
       
posted @ 2026-07-09 15:41  败人两字非傲即惰  阅读(4)  评论(0)    收藏  举报