# 对在推流进行 mute/unmute 操作 (/zh-CN/api-reference/api-ref/rtmp-gateway/mute-streaming)

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

对当前在推流执行 mute 或 unmute 操作。

- OpenAPI: /openapi/media-gateway/media-gateway.zh-CN.yaml
- Operation ID: post-region-version-projects-appId-rtls-ingress-online-streams-sid-mute
- Method: POST
- Path: /{region}/{version}/projects/{appId}/rtls/ingress/online-streams/{sid}/mute
- Endpoint: https://api.sd-rtn.com/{region}/{version}/projects/{appId}/rtls/ingress/online-streams/{sid}/mute

## Servers

- https://api.sd-rtn.com/

:::warning[注意]
- 本请求执行成功，仅表示将指令成功发送到推流所在的网关节点，并不表示 mute/unmute 操作成功生效。实际的 mute/unmute 操作会在后台异步执行。
- 正常情况下，从发出请求到实际生效的延时在 1s 左右。如果发现操作没有按预期生效，可以重新调用一次接口。
- 每条流的初始状态都是 unmuted（即音视频都正常 publish 到频道内）。每次调用 API，操作的对象是当前在推流，当该主播发生断流重推后，新的流会重新变成初始状态。
:::

## Authorization

This endpoint requires authentication.

- `Basic Auth`
- `API Key`

## Parameters

- `X-Request-ID` (header, optional, string) - UUID（通用唯一识别码），标识本次请求。传入该字段后，声网服务器会在响应 header 中返回该字段。  声网推荐用户对 X-Request-ID 赋值。如果不赋值，声网服务器会自动生成一个 UUID 传入。
- `region` (path, required, string) - 使用 RTMP 网关的区域。声网支持分区域创建推流码，目前支持以下区域：
- `cn`：中国大陆
- `ap`：除中国大陆以外的亚洲区域
- `na`：北美
- `eu`：欧洲

> [!CAUTION]
> - 请确保设置的 `region` 与输入的源流在同一个区域。
> - 请确保设置的 `region` 与推流使用的域名在同一个区域。
> - 请确保传入 `region` 的值为小写。
- `version` (path, required, string) - 查询信息的版本，填 `v1`。
- `appId` (path, required, string) - 声网为每个开发者提供的 App ID。在声网控制台创建一个项目后即可得到一个 App ID。App ID 是一个项目的唯一标识。
- `sid` (path, required, string) - 推流会话 ID（Session ID），是每次发起的推流任务的唯一标识。可以通过[查询当前在推流列表 API](query-streaming-list) 获得，也可通过[接收消息通知回调](/zh-CN/realtime-media/rtmp-gateway/build/enable-ncs)的 Payload 获取。

## Request body

请求 Body 为 JSON Object 类型的 settings 字段。

> [!CAUTION]
> - 为确保请求成功，请不要将必填字段设为 `null` 或者 `""`。
> - 如果某条流当前已经处于 muted （或 unmuted）状态，那么重复设置为 muted（或 unmuted），请求仍然会执行成功，但是不会执行任何操作。

- `videoMuted` (boolean, required) - 是否 mute 视频流：
- true：是，mute 在推视频流。
- false：否，unmute 在推视频流。
- `audioMuted` (boolean, required) - 是否 mute 音频流：
- true：是，mute 在推音频流。
- false：否，unmute 在推音频流。

### Request body example

```json
{
  "settings": {
    "videoMuted": true,
    "audioMuted": false
  }
}
```

## Responses

### 200

如果状态码为 200，则请求成功。

- `status` (string) - 值为 `"success"`。
### default

如果状态码不为 2XX，表示请求失败。你可以参考[响应状态码](/zh-CN/realtime-media/rtmp-gateway/reference/response-code)排查问题。

- `status` (string) - 本次请求状态，值为 `"fail"` 或者 `"error"`。
- `message` (string) - 失败的具体原因。

## Response examples

### 200

```json
{
  "status": "success"
}
```
### default

```json
{
  "status": "本次请求状态，值为 `\"fail\"` 或者 `\"error\"`。",
  "message": "失败的具体原因。"
}
```
