Ai_GirlFriend/xuniYou/语音通话配置说明.md
2026-02-28 09:40:18 +08:00

102 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 语音通话功能配置说明
## 已完成的配置
### 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` 事件
- 录音持续进行,但只在按住时发送数据
- 避免频繁启停录音造成的延迟