# agora 命名空间参考 (/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora)

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

## 类型定义说明 [#类型定义说明]

<a id="a53ad2a97475c0fe887004d50085a99b8"></a>

### any_document_t [#any_document_t]

<ApiSignature>

typedef commons::cjson::JsonWrapper [agora::any_document_t](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora#a53ad2a97475c0fe887004d50085a99b8)

</ApiSignature>

<a id="a67aa7eac4d2b30c5c02951f1303bcc48"></a>

### user_id_t [#user_id_t]

<ApiSignature>

typedef const char* [agora::user_id_t](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora#a67aa7eac4d2b30c5c02951f1303bcc48)

</ApiSignature>

<a id="a17bc4c41f9ee9f5f1c1f593fcc98fb16"></a>

### view_t [#view_t]

<ApiSignature>

typedef void* [agora::view_t](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora#a17bc4c41f9ee9f5f1c1f593fcc98fb16)

</ApiSignature>

<a id="a46a0d0064b7c6713de256d37dc24b9ad"></a>

### UserList [#userlist]

<ApiSignature>

typedef [util::AList](/zh-CN/api-reference/rtc-server-sdk/cpp/classagora-1-1util-1-1-a-list)&lt;[UserInfo](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1-user-info)&gt; [agora::UserList](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora#a46a0d0064b7c6713de256d37dc24b9ad)

</ApiSignature>

<a id="abc5eb7ac0efb18032c8383e528c490a2"></a>

### CHANNEL_PROFILE_TYPE [#channel_profile_type]

<ApiSignature>

enum [agora::CHANNEL_PROFILE_TYPE](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora#abc5eb7ac0efb18032c8383e528c490a2)

</ApiSignature>

频道使用场景。

<DocsTable>
<thead>
<tr>
<th colSpan={2} scope="colgroup">枚举值</th>
</tr>
</thead>
<tbody>
<tr>
<td>

<a id="abc5eb7ac0efb18032c8383e528c490a2a850a75a5cefb8754a6e95bb9c0ac6a79"></a>CHANNEL_PROFILE_COMMUNICATION

</td>
<td>0: 通信场景。当频道中只有两个用户时，建议使用该场景。</td>
</tr>
<tr>
<td>

<a id="abc5eb7ac0efb18032c8383e528c490a2aaeadbf9ad465462101362d7af62927b8"></a>CHANNEL_PROFILE_LIVE_BROADCASTING

</td>
<td>1: 直播场景。该场景有主播和观众两种用户角色，可以通过 setClientRole 设置。主播可以发布和接收音视频流，观众直接接收流。适用于语聊房、视频直播、互动大班课等应用场景。</td>
</tr>
<tr>
<td>

<a id="abc5eb7ac0efb18032c8383e528c490a2a68b518311fa97b9908d878934052b278"></a>__deprecated

</td>
<td>

2: 游戏语音场景。该场景默认使用低功耗低码率的编解码器，且频道内任何用户都可以自由发言，适用于游戏场景。

3: 互动场景。该场景对延时进行了优化。如果你的场景中有用户需要频道互动，建议使用该场景。

</td>
</tr>
<tr>
<td>

<a id="abc5eb7ac0efb18032c8383e528c490a2a68b518311fa97b9908d878934052b278"></a>__deprecated

</td>
<td>

2: 游戏语音场景。该场景默认使用低功耗低码率的编解码器，且频道内任何用户都可以自由发言，适用于游戏场景。

3: 互动场景。该场景对延时进行了优化。如果你的场景中有用户需要频道互动，建议使用该场景。

</td>
</tr>
</tbody>
</DocsTable>

<a id="a2c4d7294b18a6b4c3169f7199d390a10"></a>

### LOCAL_PROXY_MODE [#local_proxy_mode]

<ApiSignature>

enum [agora::LOCAL_PROXY_MODE](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora#a2c4d7294b18a6b4c3169f7199d390a10)

</ApiSignature>

与声网私有媒体服务器的连接模式。

<DocsTable>
<thead>
<tr>
<th colSpan={2} scope="colgroup">枚举值</th>
</tr>
</thead>
<tbody>
<tr>
<td>

<a id="a2c4d7294b18a6b4c3169f7199d390a10aec772b2be54424d0c7eaf06bed028fc7"></a>ConnectivityFirst

</td>
<td>0：SDK 优先尝试连接指定的声网私有媒体服务器；如果无法连接到指定的声网私有媒体服务器，则连接声网 SD-RTN™。</td>
</tr>
<tr>
<td>

<a id="a2c4d7294b18a6b4c3169f7199d390a10a34e4ccffde4dd673ea5a34c20e5980cf"></a>LocalOnly

</td>
<td>1：SDK 只尝试连接指定的声网私有媒体服务器。</td>
</tr>
</tbody>
</DocsTable>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119"></a>

### VIDEO_PIXEL_FORMAT [#video_pixel_format]

<ApiSignature>

enum [agora::VIDEO_PIXEL_FORMAT](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora#a08597f4fe6a0ef1ad7b53538fd27d119)

</ApiSignature>

视频像素格式。

<DocsTable>
<thead>
<tr>
<th colSpan={2} scope="colgroup">枚举值</th>
</tr>
</thead>
<tbody>
<tr>
<td>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119a3f7d3b67b593a82b964976325a778ce9"></a>VIDEO_PIXEL_UNKNOWN

</td>
<td>0: 未知格式</td>
</tr>
<tr>
<td>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119a55951b3a967c1c85164db7a79c57142d"></a>VIDEO_PIXEL_I420

</td>
<td>1: I420</td>
</tr>
<tr>
<td>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119a05f86dc1dd18b729ea4a21bd33300727"></a>VIDEO_PIXEL_BGRA

</td>
<td>2: BGRA</td>
</tr>
<tr>
<td>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119a47fdf1a732e99e89956679cddc75288e"></a>VIDEO_PIXEL_NV21

</td>
<td>3: NV21</td>
</tr>
<tr>
<td>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119aa0567499d5572d7126efcef0b0ee8c68"></a>VIDEO_PIXEL_RGBA

</td>
<td>4: RGBA</td>
</tr>
<tr>
<td>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119abe4c794f857d6a4feafa9bf94829eff9"></a>VIDEO_PIXEL_NV12

</td>
<td>8: NV12</td>
</tr>
<tr>
<td>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119a6c816ae8b1b3801e0c943cb74a15e602"></a>VIDEO_TEXTURE_2D

</td>
<td>10: GL_TEXTURE_2D</td>
</tr>
<tr>
<td>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119a6e258b00ce17a5f5fdac0792c0ae6082"></a>VIDEO_TEXTURE_OES

</td>
<td>11: GL_TEXTURE_OES</td>
</tr>
<tr>
<td>

<a id="a08597f4fe6a0ef1ad7b53538fd27d119aeceebebedd48e638d0a0468b1cb07c0e"></a>VIDEO_PIXEL_I422

</td>
<td>16: I422</td>
</tr>
</tbody>
</DocsTable>

<a id="a92645db30ed80a3009fb4e346665f29c"></a>

### VIDEO_MODULE_POSITION [#video_module_position]

<ApiSignature>

enum [agora::VIDEO_MODULE_POSITION](/zh-CN/api-reference/rtc-server-sdk/cpp/namespaceagora#a92645db30ed80a3009fb4e346665f29c)

</ApiSignature>

视频模块位置。

<DocsTable>
<thead>
<tr>
<th colSpan={2} scope="colgroup">枚举值</th>
</tr>
</thead>
<tbody>
<tr>
<td>

<a id="a92645db30ed80a3009fb4e346665f29ca8ab21b2c672dd08a5b02f2c10d17c079"></a>POSITION_POST_CAPTURER

</td>
<td>位于 SDK 的视频采集模块之后。</td>
</tr>
<tr>
<td>

<a id="a92645db30ed80a3009fb4e346665f29ca91268490395bf6c351f7f30e1ec1aa01"></a>POSITION_PRE_RENDERER

</td>
<td>位于 SDK 的视频渲染模块之前。</td>
</tr>
<tr>
<td>

<a id="a92645db30ed80a3009fb4e346665f29ca3e84b648b04c9adfef98cb211a2a5077"></a>POSITION_PRE_ENCODER

</td>
<td>位于 SDK 的视频编码模块之前。</td>
</tr>
<tr>
<td>

<a id="a92645db30ed80a3009fb4e346665f29cab6484036194a5a5084e5365c857a3470"></a>POSITION_POST_FILTERS

</td>
<td>位于 SDK 的过滤器模块之后。</td>
</tr>
</tbody>
</DocsTable>

## 函数说明 [#函数说明]

<a id="adba8480af8b8c0a9a331e1a21b888e58"></a>

### nullopt() [#nullopt]

<ApiSignature>

const [nullopt_t](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1nullopt-t) agora::nullopt(0)

</ApiSignature>

<a id="a601776c867e91314b749d3157cd46a89"></a>

### make_refptr() [1/3] [#make_refptr-13]

<ApiSignature labels="inline">

[agora_refptr](/zh-CN/api-reference/rtc-server-sdk/cpp/classagora-1-1agora-refptr)&lt;T&gt; agora::make_refptr(types &&... *args*)

</ApiSignature>

<a id="a066ee24de8654834c7bd95dc2d6871af"></a>

### make_refptr() [2/3] [#make_refptr-23]

<ApiSignature labels="inline">

[agora_refptr](/zh-CN/api-reference/rtc-server-sdk/cpp/classagora-1-1agora-refptr)&lt;T&gt; agora::make_refptr()

</ApiSignature>

<a id="a019e8190966e79cca979f2e3b3c64361"></a>

### make_refptr() [3/3] [#make_refptr-33]

<ApiSignature labels="inline">

[agora_refptr](/zh-CN/api-reference/rtc-server-sdk/cpp/classagora-1-1agora-refptr)&lt;T&gt; agora::make_refptr(const P0 & *p0*)

</ApiSignature>

## 变量说明 [#变量说明]

<a id="a23dc78d8fca1c545bfb533237fcca4af"></a>

### in_place [#in_place]

<ApiSignature>

const [in_place_t](/zh-CN/api-reference/rtc-server-sdk/cpp/structagora-1-1in-place-t) agora::in_place = \{\}

</ApiSignature>

<a id="ad7412d9f3ea9df5f452273bf6e9226ef"></a>

### RefCountReleaseStatus [#refcountreleasestatus]

<ApiSignature>

OPTIONAL_ENUM_CLASS agora::RefCountReleaseStatus \{ kDroppedLastRef, kOtherRefsRemained \}

</ApiSignature>
