基于 React Native + Expo 的会议录音应用,支持 OpenAI 兼容接口进行语音转文字和智能总结。
- 录音功能: 使用 expo-av 录制高质量 m4a 格式音频
- 语音转文字 (STT): 支持 OpenAI Whisper 及兼容接口
- 智能总结 (LLM): 支持 OpenAI、DeepSeek、Groq 等兼容接口
- 语音合成 (TTS): 可选功能,朗读总结内容
- 本地存储: 使用 AsyncStorage 持久化会议记录和设置
- Markdown 渲染: 美观展示 AI 生成的总结
- 框架: Expo SDK 54+
- 语言: TypeScript
- 状态管理: Zustand + AsyncStorage
- UI 库: React Native Paper (Material Design 3)
- 导航: React Navigation
- 录音/播放: expo-av
- 网络请求: axios
- Markdown: react-native-markdown-display
cd MeetingAI
npm install# Web 预览
npx expo start --web
# Android
npx expo start --android
# iOS (需要 macOS)
npx expo start --ios首次使用需要在设置页面配置:
-
STT (语音转文字)
- Base URL:
https://api.openai.com/v1 - API Key: 你的 OpenAI API Key
- Model:
whisper-1
- Base URL:
-
LLM (大语言模型)
- Base URL:
https://api.openai.com/v1或其他兼容接口 - API Key: 你的 API Key
- Model:
gpt-4o-mini或其他模型
- Base URL:
-
TTS (语音合成) - 可选
- Base URL:
https://api.openai.com/v1 - API Key: 你的 API Key
- Model:
tts-1 - Voice:
alloy
- Base URL:
- OpenAI:
https://api.openai.com/v1 - Groq:
https://api.groq.com/openai/v1
- OpenAI:
https://api.openai.com/v1 - DeepSeek:
https://api.deepseek.com/v1 - Groq:
https://api.groq.com/openai/v1 - 其他 OpenAI 兼容接口
src/
├── components/ # 通用组件
├── screens/ # 页面
│ ├── HomeScreen.tsx # 首页 - 会议列表
│ ├── RecordScreen.tsx # 录音页
│ ├── DetailScreen.tsx # 详情页 - 总结/原文
│ └── SettingsScreen.tsx # 设置页
├── store/ # Zustand 状态管理
│ ├── settingsStore.ts # 设置存储
│ └── meetingStore.ts # 会议记录存储
├── services/ # API 服务
│ ├── aiService.ts # STT/LLM/TTS 调用
│ └── audioService.ts # 录音服务
├── utils/ # 工具函数
├── navigation/ # 导航配置
└── types.ts # TypeScript 类型定义
- 配置 API: 首次使用点击右上角设置图标,配置 API Key
- 开始录音: 点击首页底部麦克风按钮开始录音
- 停止录音: 录音完成后点击停止,选择立即处理或稍后处理
- 查看结果: 在详情页查看 AI 生成的总结和原文
- 编辑原文: 可以修改识别错误的文字,重新生成总结
- 录音权限: 首次录音需要授权麦克风权限
- API 超时: 长音频转录可能需要较长时间,请耐心等待
- 文件格式: 录音使用 m4a 格式,兼容 OpenAI Whisper
- 网络要求: 需要稳定的网络连接调用 API
# 构建 Android APK
npx expo build:android
# 构建 iOS (需要 Apple Developer 账号)
npx expo build:ios
# 使用 EAS Build
npx eas build --platform android
npx eas build --platform iosMIT