> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stmlink.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> 对外开放的服务端接口有两组前缀，都用同一套鉴权：`/server/v1/...`（SRTC 与 SMeeting 的主接口）和 `/stm/srvapi/v1/...`（SMeeting 的用户体系，服务端极简对接会用到）。鉴权是 app_id + nonce + timestamp + signature 四个请求头，用 app_key 做 HMAC-SHA256 签名，只能从业务方自己的后端调用。除这两组前缀外的接口均为内部接口，不要建议客户调用。
> app_key 是服务端密钥，绝不能出现在客户端代码、前端配置或移动 App 里。客户端加入频道用的 token 必须由业务方后端签发后下发（SRTC 走 `/server/v1/channel/grant`，SMeeting 走 `/stm/srvapi/v1/member/grant`）。
> SRTC 与 SMeeting 是上下两层不同的产品，术语不通用：SRTC 是音视频底座，说「频道 channel」「加入 / 退出」；SMeeting 建在 SRTC 之上，说「房间 room」「会议 meeting」「进入 / 退出」。回答时按用户所在的层用对应术语，不要把「房间」「会议」安到 SRTC 的接口上。
> 同一能力在各端 SDK 里的包名、类名、方法名并不相同。写示例代码时请使用文档中该端自己的 API，不要把一个端的写法套到另一个端上。苹果平台每个产品都有两套 SDK（Swift 原生与 Objective-C），两套 API 不能混用。

# 配置项

> Windows SMeeting SDK 引擎级与会议级配置项 C++ 参考

配置项分为**引擎级** `ISMeetingSetting` 和**会议级** `ISMeetingChannelSetting`。

***

## ISMeetingSetting（引擎级）

通过 `ISMeetingEngine::getSetting()` 获取。这两项在 `login()` 初始化 rtc 引擎时读取，之后修改无效。

| 配置项      | 设置方法                     | 获取方法                     | 类型          |
| -------- | ------------------------ | ------------------------ | ----------- |
| SDK 日志路径 | set\_sdk\_log\_path      | get\_sdk\_log\_path      | std::string |
| 启用流日志    | set\_enable\_stream\_log | get\_enable\_stream\_log | int         |

***

## ISMeetingChannelSetting（会议级）

通过 `ISMeetingChannel::getSetting()` 获取。在 `createChannel()` 之后、`enter()` 之前配置。

| 配置项    | 设置方法                       | 获取方法                       | 类型          | 生效时机       |
| ------ | -------------------------- | -------------------------- | ----------- | ---------- |
| 流模式    | set\_stream\_model         | get\_stream\_model         | int         | rtc join 时 |
| MCU 轨道 | set\_mcu\_track            | get\_mcu\_track            | int         | rtc join 时 |
| 启用音频录制 | set\_enable\_audio\_record | get\_enable\_audio\_record | int         | rtc join 时 |
| 入会昵称   | set\_room\_name            | get\_room\_name            | std::string | enter() 时  |
| 入会头像   | set\_room\_avatar          | get\_room\_avatar          | std::string | enter() 时  |
| 流厂商    | set\_stream\_vendor        | get\_stream\_vendor        | std::string | enter() 时  |
| 统计间隔   | set\_stat\_interval        | get\_stat\_interval        | int         | 随时可改       |
| 发言者间隔  | set\_speaker\_interval     | get\_speaker\_interval     | int         | 随时可改       |
| 降噪模式   | set\_den\_model            | get\_den\_model            | int         | 随时可改       |
| 限速     | set\_limit\_speed          | get\_limit\_speed          | int         | 随时可改       |

> `stream_model` / `mcu_track` / `enable_audio_record` / `room_name` / `room_avatar` / `stream_vendor` 在 `enter()` 时读取，之后改无效；`den_model` / `limit_speed` / `stat_interval` / `speaker_interval` 随时可改并立刻下发。
