一触式开发分享频道
首页 / 开发手记

开口 · 修复记录 · 2026-10-16

一句话变长以后,开口为什么要分段读?

“二十个字以上读不出来。”这条反馈,让我重新检查了从文字到声音的整段过程。

先找到等待发生在哪里

原来的内置语音会把全文一次交给模型,等整段生成后才开始播放。句子较长、又没有标点时,用户可能等很久,表面上就像按钮没有反应。反馈没有提供具体机型和原文,因此不能断言所有情况都来自同一个原因。

先读一小段,再接下一段

现在优先按标点分段,每段最多18个UTF-16字符,并避免把emoji的代理对拆开。逐段生成、逐段播放,让长句不用等到全文生成完才出声。取消时也要停止后续处理。

把输入拉到当前上限试一次

这次用200字无标点中文做真机测试,验证生成和播放器能完整完成,也检查了中途取消。但程序完成不等于每个字都经过人工听审,特殊词句仍欢迎反馈。

了解开口