issue: Read Aloud plays no sound after a Voice mode call ends

该问题通常出现在 Open WebUI 中“同一聊天内先结束 Voice mode 通话,再对回复使用 Read Aloud”这一操作序列之后;优先排查 Read Aloud 触发时聊天页面隐藏播放器是否仍处于 muted 状态。

快速结论:该问题通常出现在 Open WebUI 中“同一聊天内先结束 Voice mode 通话,再对回复使用 Read Aloud”这一操作序列之后;优先排查 Read Aloud 触发时聊天页面隐藏播放器是否仍处于 muted 状态。

适用环境:Open WebUI dev 分支(commit 7e6c8d7b6);安装方式为 Git Clone;Ollama 0.35.1;操作系统为 Linux 与 iOS 26.4(iPhone 13 Pro);浏览器为 Firefox(Linux)以及 iPhone 主屏幕 Web App;TTS 引擎设置为 OpenAI,后端使用本地 Kokoro-FastAPI(http://localhost:8880/v1,模型 kokoro)。

最快修复方案:该问题已在 dev 分支通过 PR #31875 修复。将 Open WebUI 更新到包含该修复的 dev 版本(或后续正式版本)即可。

注意事项:Issue 中确认的是 dev 分支上的修复,旧版本或未合并该 PR 的构建仍会复现。临时绕过方法(切换到另一个聊天再切回来)只是让页面重新创建隐藏播放器,并未修复 mute 状态残留问题,不能视为正式解决方案。

问题场景

在 Open WebUI 的同一个聊天中,先进入 Voice mode 通话,说完一段回复并等语音播放结束后挂断通话,然后对刚才那条回复点击 Read Aloud。此时不会听到任何声音;只有打开另一个聊天再返回原聊天后,Read Aloud 才会恢复正常朗读。该行为在 Linux + Firefox 和 iOS + 主屏幕 Web App 上都能复现。

报错原文

document.getElementById('audioElement').muted
true

issue: Read Aloud plays no sound after a Voice mode call ends

原因分析

根据 Issue 中的排查信息,Read Aloud 和 Voice mode 在聊天页面中共用同一个隐藏音频播放器 #audioElement。结束 Voice mode 通话时该播放器会被 mute;Voice mode 在播报自己每条回复前会主动 unmute,而 Read Aloud 缺少同样的 unmute 逻辑。因此通话结束后播放器保持 muted,Read Aloud 虽然触发了播放但听不到声音。切换聊天会重新创建播放器,所以可以临时绕过该问题。该原因已由维护者确认并修复。

环境排查

  • 确认 Open WebUI 版本或分支:dev 分支 commit 7e6c8d7b6,或是否包含 PR #31875。
  • 确认部署方式:Git Clone 安装,非容器或托管镜像。
  • 确认 TTS 引擎配置:Admin Panel > Settings > Audio > Text-to-Speech Engine 是否设为 OpenAI,以及 Kokoro-FastAPI 地址与模型是否可用。
  • 确认 Ollama 版本:0.35.1。
  • 确认操作系统与浏览器:Linux + Firefox、iOS 26.4 + iPhone 主屏幕 Web App。
  • 复现后在浏览器控制台执行 document.getElementById('audioElement').muted,观察是否为 true。

解决步骤

  1. 确认当前实例确实运行在 dev 7e6c8d7b6 或更早、且尚未合入 PR #31875 的版本。
  2. 将 Open WebUI 更新到包含 PR #31875 的 dev 分支代码(或之后发布的正式版本)。
  3. 重启 Open WebUI 服务,使新前端资源生效。
  4. 若暂时无法升级,可使用临时绕过:结束通话后切换到另一个聊天,再返回原聊天,再点击 Read Aloud。
  5. 若要自行验证修复逻辑,可检查 Read Aloud 触发路径中是否在播放前对 #audioElement 执行了 unmute。

验证方法

按 Issue 中的复现步骤操作:进入 Voice mode,完成一次通话并挂断,然后在同一聊天中点击 Read Aloud。如果能够正常听到朗读内容,并且在控制台执行 document.getElementById('audioElement').muted 返回 false,说明修复已生效,不再需要切换聊天来恢复声音。

参考来源

open-webui/open-webui #31874

修复 PR:open-webui/open-webui #31875

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 27471

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注