Search found 111 matches

by 一线长天
2026年 Jul 1日 19:47
Forum: TuyaOS-联网单品开发
Topic: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死
Replies: 17
Views: 4151

Re: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死

这个信息很重要,说明的确是tkl接口卡住了。正在分析中,会及时同步进展。

by 一线长天
2026年 Jun 30日 14:28
Forum: TuyaOS-联网单品开发
Topic: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死
Replies: 17
Views: 4151

Re: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死

附件是完整的分析报告,可以参考(包括代码重构)

by 一线长天
2026年 Jun 30日 13:43
Forum: TuyaOS-联网单品开发
Topic: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死
Replies: 17
Views: 4151

Re: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死

可以按照这个先处理再挂机看看。

  1. 给 tkl_ao_put_frame 的重试加上累计超时——例如 ret==0 连续重试超过 X ms(比如 200500ms)就 return OPRT_TIMEOUT 并丢帧,绝不 goto 死循环。(同时增加超时的日志)
  2. 兜底(应用/播放器层):
    • 把播放消息队列深度从 2 调大(比如10),减少瞬时 -26369;
    • tuya_ai_player_stop/start 的 tal_queue_post 给个小超时而非 0;
    • 配合方案1(播放线程内不忙等),避免重入。
by 一线长天
2026年 Jun 30日 11:34
Forum: TuyaOS-联网单品开发
Topic: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死
Replies: 17
Views: 4151

Re: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死

有完整的日志么?上电开始的。目前代码如何使用player的完整逻辑看不到,无法判断是否触发了未知场景。
wukong player是单线程的,因此如果有多线程访问,可能触发未测试到的问题。

by 一线长天
2026年 Jun 29日 14:37
Forum: TuyaOS-联网单品开发
Topic: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死
Replies: 17
Views: 4151

Re: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死

修复这个问题的demo还没有发布,后续会带上

by 一线长天
2026年 Jun 29日 14:06
Forum: TuyaOS-联网单品开发
Topic: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死
Replies: 17
Views: 4151

Re: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死

看你的代码不是多线程调用,不会有提到的情况。先stop再start,一定是stop先退出了才执行start。针对多线程的情况,A线程stop,B线程start,那么是有概率A线程等不到stopped(即进入死循环)。针对这个情况作了超时2s退出stop接口。 分析了相关代码,我的结论是:这个分析不成立 —— 这里不会死循环。 关键在于它把「轮询持久状态」误当成了「边沿触发的信号」。 代码事实 tuya_ai_player_stop(814-846)的等待逻辑: TUYA_CALL_ERR_RETURN(tal_queue_post(s_ai_player_ctx.queue, &msg...
by 一线长天
2026年 Jun 29日 10:41
Forum: TuyaOS-联网单品开发
Topic: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死
Replies: 17
Views: 4151

Re: 【求助】T5 tuya_os_sdk3.13.3播放提示音或停止时卡死

在 3.13.3 的 tuya_ai_player_stop / tuya_ai_player_start 里给 while 加超时退出: // tuya_ai_player_stop UINT_T to = 0; while (player->state != AI_PLAYER_STOPPED) { tal_system_sleep(10); if (to++ > 200) { // 最多 2s,不再死等 PR_ERR("stop timeout mode=%d state=%d", player->mode, player->state); return OPRT_T...
by 一线长天
2025年 Dec 1日 16:34
Forum: TuyaOS 开发
Topic: 通用sdk程序崩溃
Replies: 2
Views: 12005

Re: 通用sdk程序崩溃

你好,请参考这个发帖指南完善下相关信息。https://www.tuyaos.com/viewtopic.php?t=4908