Skip to content

Commit

Permalink
New translations
Browse files Browse the repository at this point in the history
  • Loading branch information
Cilla-luodan committed Oct 17, 2024
1 parent 508e82c commit 34689f6
Show file tree
Hide file tree
Showing 43 changed files with 142 additions and 92 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,10 @@
</section>
<section id="detailed_desc">
<title>Details</title>
<p>If you only want to observe encoded video frames (such as h.264 format) without decoding and rendering the video, Agora recommends that you implement one <xref keyref="IVideoEncodedFrameObserver"/> class through this method.</p>
<p id="mix">If you want to obtain the original video data of some remote users (referred to as group A) and the encoded video data of other remote users (referred to as group B), you can refer to the following steps:<ol>
<li>Call <xref keyref="registerVideoFrameObserver"/> to register the raw video frame observer before joining the channel.</li>
<li>Call <xref keyref="registerVideoEncodedFrameObserver"/> to register the encoded video frame observer before joining the channel.</li>
<li>After joining the channel, get the user IDs of group B users through <xref keyref="onUserJoined"/>, and then call <xref keyref="setRemoteVideoSubscriptionOptions"/> to set the <parmname>encodedFrameOnly</parmname> of this group of users to <codeph><ph keyref="true"/></codeph>.</li>
<li>Call <xref keyref="muteAllRemoteVideoStreams"/><codeph>(<ph keyref="false"/>)</codeph>to start receiving the video streams of all remote users. Then:<ul>
<li>The raw video data of group A users can be obtained through the callback in <xref keyref="IVideoFrameObserver"/>, and the SDK renders the data by default.</li>
<li>The encoded video data of group B users can be obtained through the callback in <xref keyref="IVideoEncodedFrameObserver"/>.</li>
</ul> </li>
</ol> </p>
<p>If you only want to observe encoded video frames (such as h.264 format) without decoding and rendering the video, Agora recommends that you implement one class through this method<xref keyref="IVideoEncodedFrameObserver"/>. <ph props="android cpp apple">有关详细的实现步骤,详见<xref keyref="video-processing"/>。</ph></p>
<note type="attention">
<ul>
<li>Call this method before joining a channel.</li>
</ul></note> </section>
<p>Call this method before joining a channel.</p>
</note> </section>
<section id="parameters">
<title>Parameters</title>
<parml>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,10 @@
<section id="detailed_desc" deliveryTarget="details" otherprops="no-title">
<p>If you want to observe raw video frames (such as YUV or RGBA format), Agora recommends that you implement one <xref keyref="IVideoFrameObserver"/> class with this method.</p>
<p>When calling this method to register a video observer, you can register callbacks in the <apiname keyref="IVideoFrameObserver"/> class as needed. After you successfully register the video frame observer, the SDK triggers the registered callbacks each time a video frame is received.</p>
<p conkeyref="registerVideoEncodedFrameObserver/mix"/>
</section>
<section id="scenario" deliveryTarget="details">
<title>Applicable scenarios</title>
<p>After registering the raw video observer, you can use the obtained raw video data in various video pre-processing scenarios, such as virtual backgrounds and image enhacement by yourself.</p>
<p>After registering the raw video observer, you can use the obtained raw video data in various video pre-processing scenarios, such as virtual backgrounds and image enhacement by yourself. <ph props="android cpp apple">有关详细的实现步骤,详见<xref keyref="video-processing"/>。</ph></p>
<p props="android ios">Agora provides an open source sample project <xref keyref="beautyapi-link"/> on GitHub for your reference.</p>
</section>
<section id="timing" deliveryTarget="details">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<section id="prototype">
<p outputclass="codeblock">
<codeblock props="android" outputclass="language-java">int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex);</codeblock>
<codeblock props="hmos" outputclass="language-arkts"></codeblock>
<codeblock props="hmos" outputclass="language-arkts">public abstract selectMultiAudioTrack(playoutTrackIndex:number, publishTrackIndex: number): number;</codeblock>
<codeblock props="ios mac" outputclass="language-objectivec">- (int)selectMultiAudioTrack:(NSInteger)playoutTrackIndex publishTrackIndex:(NSInteger)publishTrackIndex NS_SWIFT_NAME(selectMultiAudioTrack(_:publishTrackIndex:));</codeblock>
<codeblock props="cpp unreal" outputclass="language-cpp">virtual int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex) = 0;</codeblock>
<codeblock props="bp" outputclass="language-cpp">UFUNCTION(BlueprintCallable, Category = &quot;Agora|IMediaPlayer&quot;)
Expand Down
2 changes: 1 addition & 1 deletion en-US/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
</plentry>
<plentry id="pitch" props="hmos">
<pt>pitch</pt>
<pd>按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。 取值范围为 [-12,12],每相邻两个值的音高距离相差半音。 取值的绝对值越大,音调升高或降低得越多。</pd>
<pd>Sets the pitch of the local music file by the chromatic scale. The default value is 0, which means keeping the original pitch. The value ranges from -12 to 12, and the pitch value between consecutive values is a chromatic value. The greater the absolute value of this parameter, the higher or lower the pitch of the local music file.</pd>
</plentry>
</parml> </section>
<section id="return_values">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<section id="prototype">
<p outputclass="codeblock">
<codeblock props="android" outputclass="language-java">int setPlayerOptionString(String key, String value);</codeblock>
<codeblock props="hmos" outputclass="language-arkts"></codeblock>
<codeblock props="hmos" outputclass="language-arkts">public abstract setPlayerOptionString(key:string, value:string): number;</codeblock>
<codeblock props="ios mac" outputclass="language-objectivec">- (int)setPlayerOptionString:(NSString *)key value:(NSString *)value NS_SWIFT_NAME(setPlayerOptionString(_:value:));</codeblock>
<codeblock props="cpp unreal" outputclass="language-cpp">virtual int setPlayerOption(const char* key, const char* value) = 0;</codeblock>
<codeblock props="bp" outputclass="language-cpp">UFUNCTION(BlueprintCallable, Category = &quot;Agora|IMediaPlayer&quot;)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
<title>Returns</title>
<ul id="ul_bpp_x2z_hqb">
<li>0: Success.</li>
<li>&lt; 0: Failure. <ph props="cn">详见<xref keyref="error-code-link"/>了解详情和解决建议。</ph></li>
<li>&lt; 0: Failure. <ph props="cn">See <xref keyref="error-code-link"/> for details and resolution suggestions.</ph></li>
</ul> </section>
</refbody>
</reference>
2 changes: 1 addition & 1 deletion en-US/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
</section>
<section id="scenario" deliveryTarget="details">
<title>Applicable scenarios</title>
<p>This method does not affect receiving the remote audio streams, and <xref keyref="enableLocalAudio" /><codeph>(<ph keyref="false" />)</codeph> is applicable to scenarios where the user wants to receive remote audio streams without sending any audio stream to other users in the channel.</p>
<p>该方法不影响远端音频流的接收和播放。 <apiname keyref="enableLocalAudio" /><codeph>(<ph keyref="false" />)</codeph> 适用于只接收远端音频而不发送本地采集音频的场景。</p>
</section>
<section id="timing" deliveryTarget="details">
<title>Call timing</title>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<section id="detailed_desc">
<title>Details</title>
<p>The virtual background feature enables the local user to replace their original background with a static image, dynamic video, blurred background, or portrait-background segmentation to achieve picture-in-picture effect. Once the virtual background feature is enabled, all users in the channel can see the custom background.</p>
<p>Both this method and <xref keyref="enableVirtualBackground"/> enable/disable virtual background, but this method allows you to specify the media source to which the virtual background is applied. </p>
<p props="android apple">Both this method and <xref keyref="enableVirtualBackground"/> enable/disable virtual background, but this method allows you to specify the media source to which the virtual background is applied. </p>
<p>Call this method after calling <xref keyref="enableVideo"/> or <xref keyref="startPreview2"/>.</p>
<note type="attention" conkeyref="enableVirtualBackground/hardware_req"/>
</section>
Expand Down
2 changes: 1 addition & 1 deletion en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
</plentry>
<plentry id="uid">
<pt>uid</pt>
<pd>The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. <ph props="android hmos">This parameter is a 32-bit signed integer. The value range is from -2<sup>31</sup>-1 to 2<sup>31</sup>-1. </ph><ph props="cpp apple framework">This parameter is a 32-bit unsigned integer. The value range is 1 to 2<sup>32</sup>-1. </ph>If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and <apiname keyref="onJoinChannelSuccess" /> returns it in the callback. Your application must record and maintain the returned user ID, because the SDK does not do so.</pd>
<pd>The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. <ph props="android hmos">This parameter is a 32-bit signed integer. The value range is from <sup>-231</sup>-1 to <sup>231</sup>-1. </ph><ph props="cpp apple framework">This parameter is a 32-bit unsigned integer. The value range is 1 to 2<sup>32</sup>-1. </ph>If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and <apiname keyref="onJoinChannelSuccess" /> returns it in the callback. Your application must record and maintain the returned user ID, because the SDK does not do so.</pd>
</plentry>
<plentry props="ios mac" conkeyref="joinChannel2/joinsuccessblock">
<pt />
Expand Down
4 changes: 2 additions & 2 deletions en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
</plentry>
<plentry id="uid">
<pt>uid</pt>
<pd>The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. <ph props="android hmos">This parameter is a 32-bit signed integer. The value range is from -2<sup>31</sup>-1 to 2<sup>31</sup>-1. </ph><ph props="cpp apple framework">This parameter is a 32-bit unsigned integer. The value range is 1 to 2<sup>32</sup>-1. </ph>If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and <apiname keyref="onJoinChannelSuccess" /> returns it in the callback. Your application must record and maintain the returned user ID, because the SDK does not do so.</pd>
<pd>The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. <ph props="android hmos">This parameter is a 32-bit signed integer. The value range is from <sup>-231</sup>-1 to <sup>231</sup>-1. </ph><ph props="cpp apple framework">This parameter is a 32-bit unsigned integer. The value range is 1 to 2<sup>32</sup>-1. </ph>If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and <apiname keyref="onJoinChannelSuccess" /> returns it in the callback. Your application must record and maintain the returned user ID, because the SDK does not do so.</pd>
</plentry>
<plentry id="options">
<pt props="android hmos cpp unreal bp electron unity rn flutter cs">options</pt>
Expand All @@ -116,7 +116,7 @@
<li>-2: The parameter is invalid. For example, the token is invalid, the <parmname>uid</parmname> parameter is not set to an integer, or the value of a member in <xref keyref="ChannelMediaOptions" /> is invalid. You need to pass in a valid parameter and join the channel again.</li>
<li>-3: Fails to initialize the <xref keyref="IRtcEngine" /> object. You need to reinitialize the <apiname keyref="IRtcEngine" /> object.</li>
<li>-7: The <apiname keyref="IRtcEngine" /> object has not been initialized. You need to initialize the <apiname keyref="IRtcEngine" /> object before calling this method.</li>
<li>-8: The internal state of the <apiname keyref="IRtcEngine" /> object is wrong. <ph props="android cpp apple framework">可能的原因是:调用 <xref keyref="startEchoTest3" /> 开始通话回路测试后,未调用 <xref keyref="stopEchoTest" /> 停止测试就调用该方法加入频道。 你需要在该方法前调用 <apiname keyref="stopEchoTest" /></ph></li>
<li>-8: The internal state of the <apiname keyref="IRtcEngine" /> object is wrong. <ph props="android cpp apple framework">The typical cause is that<xref keyref="startEchoTest3" /> after calling to start a call loop test,<xref keyref="stopEchoTest" /> you call this method to join the channel without calling to stop the test. You need to call before calling this method<apiname keyref="stopEchoTest" />.</ph></li>
<li>-17: The request to join the channel is rejected. The typical cause is that the user is already in the channel. Agora recommends that you use the <xref keyref="onConnectionStateChanged" /> callback to see whether the user is in the channel. Do not call this method to join the channel unless you receive the <apiname keyref="CONNECTION_STATE_DISCONNECTED" />(1) state.</li>
<li>-102: The channel name is invalid. You need to pass in a valid channel name in <parmname>channelId</parmname> to rejoin the channel.</li>
<li>-121: The user ID is invalid. You need to pass in a valid user ID in <parmname>uid</parmname> to rejoin the channel.</li>
Expand Down
2 changes: 1 addition & 1 deletion en-US/dita/RTC-NG/API/api_irtcengine_playeffect3.dita
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@
<p>You can call this method either before or after joining a channel.</p>
</section>
<section id="restriction" deliveryTarget="details">
<title><ph props="android cpp apple framework">调用限制</ph></title>
<title><ph props="android cpp apple framework">Restrictions</ph></title>
<p props="android cpp apple framework">If you need to play an online audio effect file, Agora recommends that you cache the online audio effect file to your local device, call <xref keyref="preloadEffect"/> to preload the file into memory, and then call this method to play the audio effect. Otherwise, you might encounter playback failures or no sound during playback due to loading timeouts or failures.</p>
</section>
<section id="related" deliveryTarget="details">
Expand Down
4 changes: 2 additions & 2 deletions en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<section id="prototype">
<p outputclass="codeblock">
<codeblock props="android" outputclass="language-java">public abstract int pushExternalVideoFrameById(VideoFrame frame, int videoTrackId);</codeblock>
<codeblock props="hmos" outputclass="language-arkts"></codeblock>
<codeblock props="hmos" outputclass="language-arkts">public abstract pushExternalVideoFrameById(frame: VideoFrame, videoTrackId: number): number;</codeblock>
<codeblock props="ios mac" outputclass="language-objectivec"/>
<codeblock props="cpp unreal" outputclass="language-cpp"/>
<codeblock props="electron" outputclass="language-typescript"/>
Expand All @@ -27,7 +27,7 @@
<title>Details</title>
<p conkeyref="pushVideoFrame/desc1"/>
<note conkeyref="pushVideoFrame/desc2"/>
<p>You can push the video frame either by calling this method or by calling <xref keyref="pushVideoFrame"/>. The difference is that this method supports video data in the texture format.</p>
<p props="android">You can push the video frame either by calling this method or by calling <xref keyref="pushVideoFrame"/>. The difference is that this method supports video data in the texture format.</p>
</section>
<section id="parameters">
<title>Parameters</title>
Expand Down
2 changes: 1 addition & 1 deletion en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
<section id="detailed_desc">
<title>Details</title>
<p conkeyref="pushVideoFrame2/desc"/>
<p>You can push the video frame either by calling this method or by calling <xref keyref="pushVideoFrame2"/>. The difference is that this method supports video data in the texture format.</p>
<p props="android">You can push the video frame either by calling this method or by calling <xref keyref="pushVideoFrame2"/>. The difference is that this method supports video data in the texture format.</p>
</section>
<section id="parameters">
<title>Parameters</title>
Expand Down
5 changes: 2 additions & 3 deletions en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,10 @@
<title>Details</title>
<p>After calling <xref keyref="createDataStream2" />, you can call this method to send data stream messages to all users in the channel.</p>
<p id="limit">The SDK has the following restrictions on this method:<ul>
<li>Each user can have up to five data streams simultaneously.</li>
<li>频道内每个客户端最多可以同时拥有 5 个数据通道,所有数据通道共用的总发包码率限制为 30 KB/s。</li>
<li>Up to 60 packets can be sent per second in a data stream with each packet having a maximum size of 1 KB.</li>
<li>Up to 30 KB of data can be sent per second in a data stream.</li>
</ul></p>
<p id="error">成功调用该方法后,远端会触发 <xref keyref="onStreamMessage" /> 回调,远端用户可以在该回调中获取接收到的流消息;若调用失败,远端会触发 <xref keyref="onStreamMessageError" /> 回调。</p>
<p id="error">A successful method call triggers the<xref keyref="onStreamMessage" /> callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the callback on<xref keyref="onStreamMessageError" /> the remote client.</p>
<note type="attention">
<ul>
<li>This method needs to be called after <xref keyref="createDataStream2" /> and joining the channel.</li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<section id="prototype">
<p outputclass="codeblock">
<codeblock props="android" outputclass="language-java"> public abstract int setAudioMixingPlaybackSpeed(int speed);</codeblock>
<codeblock props="hmos" outputclass="language-arkts"></codeblock>
<codeblock props="hmos" outputclass="language-arkts">public abstract setAudioMixingPlaybackSpeed(speed: number): number</codeblock>
<codeblock props="ios mac" outputclass="language-objectivec">- (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:));</codeblock>
<codeblock props="cpp unreal" outputclass="language-cpp">virtual int setAudioMixingPlaybackSpeed(int speed) = 0;</codeblock>
<codeblock props="bp" outputclass="language-cpp">UFUNCTION(BlueprintCallable, Category = &quot;Agora|IRtcEngine&quot;)
Expand Down
Loading

0 comments on commit 34689f6

Please sign in to comment.