Ai_GirlFriend/xuniYou/语音通话配置说明.md

102 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2026-02-28 09:40:18 +08:00
# 语音通话功能配置说明
## 已完成的配置
### 1. manifest.json 配置
已添加以下权限:
#### Android 权限
```json
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>"
```
#### iOS 权限
```json
"privacyDescription" : {
"NSMicrophoneUsageDescription" : "与模拟女友聊天"
}
```
#### 模块配置
```json
"modules" : {
"Record" : {},
"Camera" : {},
"VideoPlayer" : {},
"OAuth" : {}
}
```
### 2. 小程序配置
微信小程序权限已配置:
```json
"permission" : {
"scope.record" : {
"desc" : "你的麦克风将用于音频录制"
}
}
```
## 使用说明
### 按住说话功能
1. **进入语音通话页面**:录音会自动初始化
2. **按住麦克风按钮**:开始发送音频数据
3. **松开按钮**:停止发送音频数据(录音继续但不发送)
4. **右上角开关**:控制麦克风权限的开启/关闭
### 交互逻辑
- 🎤 表示麦克风已开启
- 🔇 表示麦克风已关闭
- 按住说话时按钮会放大并发光
- 如果麦克风关闭,按住说话会提示"请先开启麦克风权限"
## 重新编译
修改 manifest.json 后需要:
1. **App 端**:重新打包(云打包或本地打包)
2. **小程序端**:重新编译并上传
3. **H5 端**:重新编译即可
## 调试建议
### 控制台日志
- 查看 "开始录制" 日志确认录音启动
- 查看 "开始说话" / "停止说话" 日志确认按钮事件
- 查看 WebSocket 连接状态
### 常见问题
1. **录音权限被拒绝**
- Android检查应用权限设置
- iOS检查隐私设置中的麦克风权限
- 小程序:首次使用会弹出授权提示
2. **recorderManager 未定义**
- 已修复:现在会在 onLoad 时根据平台初始化
- App 端使用原生插件,小程序端使用 uni.getRecorderManager()
3. **音频数据未发送**
- 确保 WebSocket 连接成功
- 确保按住了说话按钮
- 确保麦克风权限已开启
## 技术细节
### 录音参数
- 格式PCM
- 采样率16000Hz
- 声道:单声道
- 帧大小2KB低延迟
### 按住说话实现
- 使用 `@touchstart``@touchend` 事件
- 录音持续进行,但只在按住时发送数据
- 避免频繁启停录音造成的延迟