Skip to content

Commit

Permalink
Merge pull request #3644 from AgoraIO/API-3/6
Browse files Browse the repository at this point in the history
API 3/6
  • Loading branch information
Suri539 authored Jun 6, 2024
2 parents 3e7d859 + c1d934f commit 4858a53
Show file tree
Hide file tree
Showing 5 changed files with 89 additions and 54 deletions.
25 changes: 18 additions & 7 deletions dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,22 @@
<codeblock props="flutter" outputclass="language-dart">Future&lt;UserInfo&gt; getUserInfoByUid(int uid);</codeblock>
<codeblock props="reserve" outputclass="language-cpp"></codeblock></p>
</section>
<section id="detailed_desc">
<title>详情</title>
<p id="getUserInfo_desc">远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,并在本地触发 <xref keyref="onUserInfoUpdated" /> 回调。收到这个回调后,你可以调用该方法,通过传入 UID 获取包含了指定用户 User Account 的 <xref keyref="UserInfo" /> 对象。</p>
<section id="detailed_desc" deliveryTarget="details" otherprops="no-title">
<p id="getUserInfo_desc">远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的映射表,并在本地触发 <xref keyref="onUserInfoUpdated"/> 回调。收到回调后,调用该方法传入 UID 来获取包含了指定用户 User Account 的 <xref keyref="UserInfo" /> 对象。</p>
</section>
<section id="parameters">
<section id="timing" deliveryTarget="details">
<title>调用时机</title>
<p>在收到 <xref keyref="onUserInfoUpdated"/> 回调后调用。</p>
</section>
<section id="restriction" deliveryTarget="details">
<title>调用限制</title>
<p>无。</p>
</section>
<section id="related" deliveryTarget="details">
<title>相关回调</title>
<p><xref keyref="onUserInfoUpdated"/></p>
</section>
<section id="parameters" deliveryTarget="details">
<title>参数</title>
<parml>
<plentry>
Expand All @@ -39,9 +50,9 @@
<pt>userInfo</pt>
<pd>输入和输出参数。标识用户的 <xref keyref="UserInfo" /> 对象:
<ul>
<li>输入值:一个 <apiname keyref="UserInfo" /> 对象</li>
<li>输出值:一个包含了用户 User Account 和 UID 的 <apiname keyref="UserInfo" /> 对象</li>
</ul>
<li>输入值:一个 <apiname keyref="UserInfo"/> 对象</li>
<li>输出值:一个包含了用户 User Account 和 UID 的 <apiname keyref="UserInfo" /> 对象</li>
</ul>
</pd>
</plentry>
<plentry id="channelId" props="cpp unreal bp">
Expand Down
19 changes: 15 additions & 4 deletions dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,22 @@
<codeblock props="flutter" outputclass="language-dart">Future&lt;UserInfo&gt; getUserInfoByUserAccount(String userAccount);</codeblock>
<codeblock props="reserve" outputclass="language-cpp"></codeblock></p>
</section>
<section id="detailed_desc">
<title>详情</title>
<p conkeyref="getUserInfoByUid/getUserInfo_desc"/>
<section id="detailed_desc" deliveryTarget="details" otherprops="no-title">
<p>远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的映射表,并在本地触发 <xref keyref="onUserInfoUpdated"/> 回调。收到回调后,调用该方法传入 User Account 来获取包含了指定用户 UID 的 <xref keyref="UserInfo" /> 对象。</p>
</section>
<section id="parameters">
<section id="timing" deliveryTarget="details">
<title>调用时机</title>
<p>在收到 <xref keyref="onUserInfoUpdated"/> 回调后调用。</p>
</section>
<section id="restriction" deliveryTarget="details">
<title>调用限制</title>
<p>无。</p>
</section>
<section id="related" deliveryTarget="details" conkeyref="getUserInfoByUid/related">
<title>相关回调</title>
<p/>
</section>
<section id="parameters" deliveryTarget="details">
<title>参数</title>
<parml>
<plentry>
Expand Down
25 changes: 14 additions & 11 deletions dita/RTC-NG/API/api_irtcengine_initialize.dita
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,20 @@
<codeblock props="flutter" outputclass="language-dart">Future&lt;void&gt; initialize(RtcEngineContext context);</codeblock>
<codeblock props="reserve" outputclass="language-cpp"/></p>
</section>
<section id="detailed_desc">
<title>详情</title>
<p props="native unreal bp unity electron flutter cs"><apiname keyref="IRtcEngine"/> 类的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。</p>
<note type="attention">
<ul>
<li props="cpp unreal flutter rn electron">请确保在调用其他 API 前先调用 <xref keyref="createAgoraRtcEngine"/> 和 <apiname keyref="initialize"/> 创建并初始化 <apiname keyref="IRtcEngine"/>。</li>
<li props="android ios mac bp">请确保在调用其他 API 前先调用该方法创建并初始化 <apiname keyref="IRtcEngine"/>。</li>
<li props="android ios mac">调用该方法和 <xref keyref="create"/> 均能创建 <apiname keyref="IRtcEngine"/> 实例。该方法与 <apiname keyref="create"/> 的 区别在于,该方法支持在创建 <apiname keyref="IRtcEngine"/> 实例时进行更多配置,如指定访问区域、设置日志文件等。</li>
<li>SDK 只支持每个 App 创建一个 <apiname keyref="IRtcEngine"/> 实例。</li>
</ul> </note> </section>
<section id="parameters">
<section id="detailed_desc" deliveryTarget="details" otherprops="no-title">
<p props="android ios mac">该方法和 <xref keyref="create"/> 均能创建 <apiname keyref="IRtcEngine"/> 实例。该方法与 <apiname keyref="create"/> 的区别在于,该方法支持在创建 <apiname keyref="IRtcEngine"/> 实例时进行更多配置,如指定访问区域、设置日志文件等。</p>
<note type="attention"><apiname keyref="IRtcEngine"/> 类的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。</note>
</section>
<section id="timing" deliveryTarget="details">
<title>调用时机</title>
<p props="cpp unreal flutter rn electron">请确保在调用其他 API 前先调用 <xref keyref="createAgoraRtcEngine"/> 和 <apiname keyref="initialize"/> 创建并初始化 <apiname keyref="IRtcEngine"/>。</p>
<p props="android ios mac bp">请确保在调用其他 API 前先调用该方法创建并初始化 <apiname keyref="IRtcEngine"/>。</p>
</section>
<section id="restriction" deliveryTarget="details">
<title>调用限制</title>
<p>SDK 只支持每个 App 创建一个 <apiname keyref="IRtcEngine"/> 实例。</p>
</section>
<section id="parameters" deliveryTarget="details">
<title>参数</title>
<parml>
<plentry>
Expand Down
42 changes: 25 additions & 17 deletions dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita
Original file line number Diff line number Diff line change
Expand Up @@ -25,25 +25,33 @@
{required String appId, required String userAccount});</codeblock>
<codeblock props="reserve" outputclass="language-cpp"></codeblock></p>
</section>
<section id="detailed_desc">
<title>详情</title>
<section id="detailed_desc" deliveryTarget="details" otherprops="no-title">
<p>该方法为本地用户注册一个 User Account。注册成功后,该 User Account 即可标识该本地用户的身份,用户可以使用它加入频道。</p>
<p>成功注册 User Account 后,本地会触发 <xref keyref="onLocalUserRegistered" /> 回调,告知本地用户的 UID 和 User Account。</p>
<p>该方法为可选。如果你希望用户使用 User Account 加入频道,可以选用以下两种方式:


<ul>
<li>先调用 <apiname keyref="registerLocalUserAccount" /> 方法注册 Account,再调用 <xref keyref="joinChannelWithUserAccount2" /> 方法加入频道。</li>
<p>该方法为可选。如果你希望用户使用 User Account 加入频道,可参考下列任意一种方式实现:
<ul props="electron flutter rn">
<li>先调用 <apiname keyref="registerLocalUserAccount" /> 方法注册 Account,再调用 <xref keyref="joinChannelWithUserAccount2"/> 方法加入频道,可以缩短进入频道的时间。</li>
<li>直接调用 <apiname keyref="joinChannelWithUserAccount2" /> 方法加入频道。</li>
</ul></p>
<p>两种方式的区别在于,提前调用 <apiname keyref="registerLocalUserAccount" />,可以缩短使用 <apiname keyref="joinChannelWithUserAccount2" /> 进入频道的时间。</p>
</ul>
<ul props="native unity cs">
<li>先调用 <apiname keyref="registerLocalUserAccount" /> 方法注册 Account,再调用 <xref keyref="joinChannelWithUserAccount1"/> 或 <xref keyref="joinChannelWithUserAccount2"/> 方法加入频道,可以缩短进入频道的时间。</li>
<li>直接调用 <xref keyref="joinChannelWithUserAccount1"/> 或 <apiname keyref="joinChannelWithUserAccount2" /> 方法加入频道。</li>
</ul>
</p>
<note type="attention">
<ul>
<li><parmname>userAccount</parmname> 不能为空,否则该方法不生效。</li>
<li>请确保在该方法中设置的 <parmname>userAccount</parmname> 在频道中的唯一性。</li>
<li>为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。 如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。</li>
</ul> </note> </section>
<section id="parameters">
<ul>
<li>请确保在该方法中设置的 <parmname>userAccount</parmname> 在频道中的唯一性。</li>
<li>为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。</li>
</ul> </note>
</section>
<section id="restriction" deliveryTarget="details">
<title>调用限制</title>
<p>无。</p>
</section>
<section id="related" deliveryTarget="details">
<title>相关回调</title>
<p>成功调用该方法后,本地会触发 <xref keyref="onLocalUserRegistered" /> 回调,告知本地用户的 UID 和 User Account。</p>
</section>
<section id="parameters" deliveryTarget="details">
<title>参数</title>
<parml>
<plentry>
Expand Down Expand Up @@ -74,4 +82,4 @@
<li>&lt; 0: 方法调用失败。<ph props="cn">详见<xref keyref="error-code-link"/>了解详情和解决建议。</ph></li>
</ul> </section>
</refbody>
</reference>
</reference>
32 changes: 17 additions & 15 deletions dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,21 @@
<codeblock props="flutter" outputclass="language-dart">Future&lt;void&gt; setChannelProfile(ChannelProfileType profile);</codeblock>
<codeblock props="reserve" outputclass="language-cpp"></codeblock></p>
</section>
<section id="detailed_desc">
<title>详情</title>
<p>SDK 初始化后默认的频道场景为直播场景。你可以调用该方法设置频道的使用场景。SDK 会针对不同的使用场景采用不同的优化策略,如通信场景偏好流畅,直播场景偏好画质。</p>
<note type="attention">
<ul id="ul_mgd_h2l_b4b">
<li>为保证实时音视频质量,相同频道内的用户必须使用同一种频道场景。</li>
<li>该方法必须在 <apiname keyref="joinChannel2" /> 前调用和进行设置,进入频道后无法再设置。</li>
<li props="android ios cpp unreal bp rn">不同的频道场景下,SDK 的默认音频路由和默认视频编码码率是不同的,详见 <xref keyref="setDefaultAudioRouteToSpeakerphone" /> 和 <xref keyref="setVideoEncoderConfiguration" /> 中的说明。
</li>
<li props="electron">不同的频道场景下,SDK 的默认视频编码码率是不同的,详见 <xref keyref="setVideoEncoderConfiguration" /> 中的说明。
</li>
</ul> </note> </section>
<section id="parameters">
<section id="detailed_desc" deliveryTarget="details" otherprops="no-title">
<p>你可以调用该方法设置频道的使用场景。SDK 会针对不同的使用场景采用不同的优化策略,如直播场景优先保证画质。SDK 初始化后默认的频道场景为直播场景。</p>
<note type="attention" props="android ios cpp unreal bp rn">
<p>不同的频道场景下,SDK 的默认音频路由是不同的,详见 <xref keyref="setDefaultAudioRouteToSpeakerphone" /> 中的说明。</p>
</note>
</section>
<section id="timing" deliveryTarget="details">
<title>调用时机</title>
<p>该方法需要在加入频道前调用。</p>
</section>
<section id="restriction" deliveryTarget="details">
<title>调用限制</title>
<p>为保证实时音视频质量,相同频道内的用户必须使用同一种频道场景。</p>
</section>
<section id="parameters" deliveryTarget="details">
<title>参数</title>
<parml>
<plentry>
Expand Down Expand Up @@ -70,8 +72,8 @@
<title><ph keyref="return-section-title"/></title>
<p props="flutter">方法成功调用时,无返回值;方法调用失败时,会抛出 <xref keyref="AgoraRtcException"/> 异常,你需要捕获异常并进行处理。<ph props="cn">详见<xref keyref="error-code-link"/>了解详情和解决建议。</ph></p>
<ul>
<li props="native unreal bp electron unity rn cs">0(ERR_OK) 方法调用成功。</li>
<li>&lt; 0 方法调用失败。<ph props="cn">详见<xref keyref="error-code-link"/>了解详情和解决建议。</ph>
<li props="native unreal bp electron unity rn cs">0: 方法调用成功。</li>
<li>&lt; 0: 方法调用失败。<ph props="cn">详见<xref keyref="error-code-link"/>了解详情和解决建议。</ph>
<ul>
<li>-2: 参数无效。</li>
<li>-7: SDK 尚未初始化。</li>
Expand Down

0 comments on commit 4858a53

Please sign in to comment.