# 声动语聊常见问题合集 (/zh-CN/reference/faq/other/chatroom)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

本文总结使用声动语聊方案时可能遇到的常见问题和解决方法。

## 禁止人声但不禁止背景音乐 [#禁止人声但不禁止背景音乐]

### 问题 [#问题]

如何实现某用户调用 `startAudioMixing` 播放背景音乐时，不想让频道内其他人听到自己说话的声音，只想让别人听到自己播放的背景音乐？

### 解决方法 [#解决方法]

该用户可以调用 `adjustRecordingSignalVolume` 将音量设置为 0。

## 禁止人声和背景音乐 [#禁止人声和背景音乐]

### 问题 [#问题-1]

如何实现某用户调用 `startAudioMixing` 播放背景音乐时，不想让自己说话的声音和背景音乐被频道内其他人听到？

### 解决方法 [#解决方法-1]

该用户可以调用 `muteLocalAudioStream` 取消发布本地音频流。

## 不听说话者声音 [#不听说话者声音]

### 问题 [#问题-2]

如何实现某用户在语聊房间内，想知道谁在说话，但不想听到说话者的声音？

### 解决方法 [#解决方法-2]

该用户可以调用 `adjustUserPlaybackSignalVolume` 设置某个说话者的播放音量为 0，或者调用 `adjustPlaybackSignalVolume` 设置频道内所有人的播放音量为 0。

## 处理第三方应用音频 [#处理第三方应用音频]

### 问题 [#问题-3]

- 如何实现集成声网 SDK 后，该应用与第三方应用的音频可以同时播放？
- 如何实现集成声网 SDK 后，使用该应用时会打断第三方应用的音频播放？

### 解决方法 [#解决方法-3]

你可以在加入频道前设置如下私有参数：

```Kotlin /Swift
// 与第三方应用的音频可以同时播放
setParameters("{\"che.audio.mix_with_others\": true}")

// 打断第三方引用的音频播放
setParameters("{\"che.audio.mix_with_others\": false}")
```

## 处理第三方播放器音频 [#处理第三方播放器音频]

### 问题 [#问题-4]

如果你使用声网 SDK 和第三方播放器集成语聊房应用，那么可能出现用户进入声网 RTC 频道后会自动打断第三方播放器的音视频播放现象，比如使第三方播放器播放卡顿或者不断被打断。如何避免第三方播放器音频被打断？

### 解决方法 [#解决方法-4]

你可以在加入频道前设置如下私有参数：

```Kotlin /Swift
// 防止音频被打断
setParameters("{\"che.audio.keep.audiosession\":true}");
```

## 断网重连导致鬼麦 [#断网重连导致鬼麦]

### 问题 [#问题-5]

当用户使用声动语聊方案时，如果网络突然中断，你的业务服务器会将该用户从正常的用户列表中移除。但是，如果网络恢复，声网会自动进行断线重连，使该用户可以再次加入原来的语聊房间，此时你的业务服务器无法管理该用户，会导致出现“鬼麦”现象。如何避免断网重连导致的“鬼麦”现象？

### 解决方法 [#解决方法-5]

如下步骤可以避免断网重连导致的“鬼麦”现象：

1. 通过声网服务让业务服务器将失联用户标记为已离线：
    - 使用声网即时通讯（IM）SDK 判断用户失联的时间。比如，当用户失联超过 30 秒时，业务服务器会将该用户标记为已离线。
    - 使用声网消息通知服务。当用户快断线时，该服务会提前 20 秒告知用户即将离线。此时业务服务器可以做已离线标记。

2. 当用户的网络再次连接时，业务服务器会同步该用户的状态。如果业务服务器标记该用户为已离线，就可以调用 `leaveChannel` 让该用户离开原来的频道。从而，避免“鬼麦”现象。
