AI 实时语音转录与对话应用

AI 实时语音转录与对话应用

基于 Swift 6 的 iOS 应用,支持实时语音识别、AI 对话、屏幕录制转录与画中画字幕

Swift
SwiftUI
iOS
RevenueCat
WebSocket
January 5, 2026

项目简介

一款基于 AI 的实时语音转录与智能对话 iOS 应用,支持实时语音识别、AI 对话问答、屏幕录制转录、多语言翻译等功能。应用采用订阅制商业模式,已上架 App Store。

项目周期:2025.08 - 2026.01(约 5 个月) 项目角色:iOS 开发工程师 代码规模:156 个 Swift 文件,约 37,000 行代码

技术栈

  • 开发语言:Swift 6
  • UI 框架:SwiftUI + UIKit(混合使用)
  • 最低支持版本:iOS 18.0
  • 架构模式:MVVM + 模块化架构
  • 项目管理:Tuist(工程自动化生成)
  • 网络层:Alamofire + 自研 NetworkKit 模块
  • 实时通信:Socket.IO(WebSocket)
  • 第三方认证:Google Sign-In、Apple Sign-In
  • 支付系统:RevenueCat + StoreKit 2

核心功能模块

1. 实时语音转录引擎

  • 基于 WebSocket 的实时音频流传输
  • 支持多说话人识别与分段展示
  • 实时翻译与 AI 总结生成
  • 断线自动重连与会话恢复机制

2. AI 语音对话系统

  • 集成 OpenAI Realtime API 实现语音对话
  • 支持 VAD(Voice Activity Detection)语音端点检测
  • 语义级 VAD 与服务端 VAD 双模式
  • Push-to-Talk 按住说话交互模式
  • 实时语音流播放与打断控制

3. 屏幕录制转录(App Extension)

  • 基于 ReplayKit 的系统级屏幕录制扩展
  • App Group 实现主 App 与 Extension 数据共享
  • Darwin Notification 跨进程通信
  • 录制状态同步与异常恢复

4. 画中画悬浮窗(Picture-in-Picture)

  • 基于 AVKit PiP 实现悬浮字幕窗口
  • 自定义 UIView 叠加层实现实时字幕显示
  • 支持原文/译文双区域显示
  • 可配置字体大小与显示模式

5. 订阅与支付系统

  • RevenueCat SDK 集成订阅管理
  • StoreKit 2 原生支付流程
  • 账号冲突检测与处理
  • 免费配额追踪与权益校验

技术亮点

Swift 6 严格并发

  • 全面采用 @MainActor 保证 UI 线程安全
  • 使用 async/await 重构异步逻辑
  • Actor 隔离实现线程安全的状态管理

模块化架构设计

  • NetworkKit 独立网络模块,封装 Alamofire 与 JWT 认证
  • Shared 模块实现主 App 与 Extension 代码复用
  • 通过 Tuist 管理多 Target 依赖关系

音频处理优化

  • 实现 InputAudioProcessor 批量音频输入优化
  • AudioLevelProcessor 节流音量更新,避免 UI 过度刷新
  • 音频路由切换检测与自适应输出格式

技术难点与解决方案

屏幕录制扩展与主 App 通信

问题:ReplayKit Extension 与主 App 运行在独立进程,需要实时同步录制状态和音频数据

方案

  • 使用 App Group 共享 UserDefaults 和文件存储
  • Darwin Notification Center 实现跨进程事件通知
  • 主 App 写入 PID 文件,Extension 检测主 App 存活状态

画中画自定义内容显示

问题:AVKit PiP 原生不支持自定义 View 叠加

方案

  • 创建透明视频源作为 PiP 载体
  • 通过 UIView 叠加层实现自定义字幕显示
  • 动态调整布局适配 PiP 窗口尺寸变化

项目成果

  • 成功上架 App Store,持续迭代更新至 v1.0.4
  • 累计 750+ 次代码提交,保持高质量代码标准
  • 实现完整的 CI/CD 流程,Git Hooks 自动化代码检查
  • 支持 Debug / Staging / Release 三套环境配置