适配 HarmonyOS 5.0.0+,主题为:
🎙️ AI 讲题系统:题目识别 → 解题过程结构化 + 语音讲解 + 动画展示
“不是只给你答案,而是像老师一样讲给你听。”
本篇教你构建一款AI 讲题系统,实现:
✅ 用户输入或拍摄题目
✅ 自动解析题干 → 拆解步骤 + 文字讲解
✅ 配合语音播报逐步讲题
✅ 高亮步骤 + 动画呈现过程,让学生听得懂、看得清
✅ 系统流程结构图
[题目输入/识别] → [AI 解题结构化处理]
↓
[分步讲解步骤] → [语音播报 + 动画展示]
✅ 技术模块一览(HarmonyOS 5+)
功能模块 | 模块说明 |
---|---|
题目输入识别 | 手动输入 or OCR 提取题干 |
AI 解题结构化处理 | GPT 接口返回步骤化结果(step + explain) |
TTS 语音播报 | @ohos.ai.tts 播报当前步骤 |
UI 动画展示 | ArkTS 组件 step 切换 + 高亮 |
📦 Step1:结构化解题接口(模拟)
async function solveStepByStep(question: string): Promise<{ step: string, explain: string }[]> {
return [
{ step: '设未知数 x', explain: '将题中所求定义为代数符号' },
{ step: '列出方程 x+5=13', explain: '根据题意转化为等式' },
{ step: '解得 x=8', explain: '移项并求解出未知数' },
{ step: '答:这个数是8', explain: '写出最终答案' }
]
}
📦 Step2:TTS 播报当前步骤
import tts from '@ohos.ai.tts'
import media from '@ohos.multimedia.media'
async function speakText(text: string) {
const client = await tts.createTTSClient()
const file = `/data/user/tts_${Date.now()}.wav`
await client.synthesizeToFile(text, file)
const player = await media.createAVPlayer()
await player.setSource({ uri: file, mediaType: media.MediaType.AUDIO })
await player.prepare()
await player.play()
}
📦 Step3:页面组件交互展示
@Entry
@Component
struct AIExplain {
@State question: string = ''
@State steps: { step: string, explain: string }[] = []
@State current: number = 0
async handle() {
this.steps = await solveStepByStep(this.question)
this.current = 0
await speakText(this.steps[0].explain)
}
async next() {
if (this.current < this.steps.length - 1) {
this.current++
await speakText(this.steps[this.current].explain)
}
}
build() {
Column({ space: 20 }) {
TextArea({ placeholder: '请输入题目' }).onChange(v => this.question = v)
Button('开始讲题').onClick(() => this.handle())
If(this.steps.length, () => {
const s = this.steps[this.current]
Text(`第 ${this.current + 1} 步:${s.step}`).fontSize(18).fontWeight(FontWeight.Bold)
Text(s.explain).fontSize(16).color(Color.Gray)
Button('下一步').onClick(() => this.next())
})
}.padding(20)
}
}
✅ 拓展能力建议
功能方向 | 实现方式 |
---|---|
OCR 拍题识题 | 结合图像 OCR → 自动填充 question 字段 |
每步动画演示 | 添加滑动过渡、高亮出现、卡片切换等动画交互 |
AI 个性讲题风格 | 调用不同语气/讲法(严谨、幽默、互动式) |
多轮问答讲题补充 | 学生可点“听不懂” → 补充解释 or 换种说法 |
图像公式渲染 | 解题包含数学公式/图形 → 显示 MathML 或 SVG 图 |
⚠️ 注意事项(HarmonyOS 5+)
- TTS 合成每步建议串行处理,避免重叠播放
- 结构化解题步骤格式需稳定:step + explain,不可遗漏
- UI 组件中“当前步骤”状态需和语音同步切换
- 拍题识别场景可参考第20篇 OCR 模块整合
🧩 小结
你已完成鸿蒙平台下的 AI 讲题系统:
- 支持结构化题目解析
- 每步逐句讲解 + 语音播报
- 动画组件引导学生逐步理解解法逻辑
- 可升级为讲题机器人、错题视频生成器、题型训练系统核心模块
这将极大缓解学生“看不懂答案”的学习障碍,是教育 AI 产品中最贴近“老师”的一环。
📘 下一篇预告
构建题目结构理解系统:解析题目类型、所需能力、难度级别 + 标签化输出