Skip to content

Commit 4d244c8

Browse files
lemon-chenwangjiejiewang2
authored
Release/rtc/native/3.4.0 (#80)
* updated topic templates * updated topic templates * updated topic templates * add native 3.4.0 API * This commit adds relation table * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: wangjie <[email protected]> Co-authored-by: wangjie-agora <[email protected]> Co-authored-by: CM <>
1 parent e95a921 commit 4d244c8

30 files changed

+1139
-60
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_configrhythmplayer">
4+
<title><ph keyref="configRhythmPlayer"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">配置虚拟节拍器。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="configRhythmPlayer"/>
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java">public int configRhythmPlayer(AgoraRhythmPlayerConfig config);</codeblock>
17+
<codeblock props="ios mac" outputclass="language-objectivec">- (int)configRhythmPlayer:(AgoraRtcRhythmPlayerConfig* _Nonnull)config;</codeblock>
18+
<codeblock props="windows" outputclass="language-cpp"/>
19+
<codeblock props="electron" outputclass="language-typescript"/>
20+
<codeblock props="unity" outputclass="language-csharp"/>
21+
<codeblock props="rn" outputclass="language-typescript"/>
22+
<codeblock props="flutter" outputclass="language-dart"/>
23+
</p>
24+
</section>
25+
<section id="detailed_desc">
26+
<dl outputclass="since">
27+
<dlentry>
28+
<dt>自从</dt>
29+
<dd>v3.4.0</dd>
30+
</dlentry>
31+
</dl>
32+
<p>调用 <xref keyref="startRhythmPlayer"/> 后,你可以调用该方法重新配置虚拟节拍器。</p>
33+
<note conkeyref="startRhythmPlayer/rhythm_play"></note>
34+
</section>
35+
<section id="parameters"><title>参数</title>
36+
<parml>
37+
<plentry>
38+
<pt>config</pt>
39+
<pd>节拍器配置。详见 <xref keyref="AgoraRhythmPlayerConfig"/>。</pd>
40+
</plentry>
41+
</parml>
42+
</section>
43+
<section id="return_values">
44+
<title>返回值</title>
45+
<ul>
46+
<li>0: 方法调用成功</li>
47+
<li>&lt; 0: 方法调用失败</li>
48+
</ul>
49+
</section>
50+
</refbody>
51+
</reference>

dita/RTC/API/api_getaudiomixingduration.dita

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@
1515
<p outputclass="codeblock" conref="../conref/conref_rtc_api.dita#apidef/getAudioMixingDuration"/>
1616
</section>
1717
<section id="detailed_desc">
18-
18+
<dl>
19+
<dlentry outputclass="deprecated">
20+
<dt>弃用:</dt>
21+
<dd>自 v3.4.0 起废弃。请改用 <xref keyref="getAudioMixingDuration2"/>。</dd>
22+
</dlentry>
23+
</dl>
24+
1925
<p>该方法获取音乐文件总时长,单位为毫秒。</p>
2026
<note type="attention">你需要在调用 <apiname keyref="startAudioMixing"/> 并收到 <apiname keyref="onAudioMixingStateChanged"/>(<codeph>PLAY</codeph>) 回调后调用该方法。</note>
2127
</section>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_getaudiomixingduration2">
4+
<title><ph keyref="getAudioMixingDuration2"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">获取音乐文件的时长。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="getAudioMixingDuration2"/>
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java">public abstract int getAudioMixingDuration(String filePath);</codeblock>
17+
<codeblock props="ios mac" outputclass="language-objectivec">- (int)getAudioMixingDuration:(NSString* _Nullable)filePath;</codeblock>
18+
<codeblock props="windows" outputclass="language-cpp">virtual int getAudioMixingDuration() = 0;</codeblock>
19+
<codeblock props="electron" outputclass="language-typescript"/>
20+
<codeblock props="unity" outputclass="language-csharp"/>
21+
<codeblock props="rn" outputclass="language-typescript"/>
22+
<codeblock props="flutter" outputclass="language-dart"/>
23+
</p>
24+
</section>
25+
<section id="detailed_desc">
26+
<dl outputclass="since">
27+
<dlentry>
28+
<dt>自从</dt>
29+
<dd>v3.4.0</dd>
30+
</dlentry>
31+
</dl>
32+
<note type="attention">该方法需要在加入频道后调用。</note>
33+
</section>
34+
<section id="parameters"><title>参数</title>
35+
<parml>
36+
<plentry>
37+
<pt>filePath</pt>
38+
<pd><p conkeyref="playEffect3/filepath"></p></pd>
39+
</plentry>
40+
</parml>
41+
</section>
42+
<section id="return_values">
43+
<title>返回值</title>
44+
<ul>
45+
<li>≥ 0: 方法调用成功返回音乐文件时长(毫秒)。</li>
46+
<li>&lt; 0: 方法调用失败。</li>
47+
</ul>
48+
</section>
49+
</refbody>
50+
</reference>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_geteffectcurrentposition">
4+
<title><ph keyref="getEffectCurrentPosition"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">获取指定音效文件的播放进度。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="getEffectCurrentPosition"/>
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java">public int getEffectCurrentPosition(int soundId);</codeblock>
17+
<codeblock props="ios mac" outputclass="language-objectivec">- (int)getEffectCurrentPosition:(int)soundId;</codeblock>
18+
<codeblock props="windows" outputclass="language-cpp">virtual int getEffectCurrentPosition(int soundId) = 0;</codeblock>
19+
<codeblock props="electron" outputclass="language-typescript"/>
20+
<codeblock props="unity" outputclass="language-csharp"/>
21+
<codeblock props="rn" outputclass="language-typescript"/>
22+
<codeblock props="flutter" outputclass="language-dart"/>
23+
</p>
24+
</section>
25+
<section id="detailed_desc">
26+
<dl outputclass="since">
27+
<dlentry>
28+
<dt>自从</dt>
29+
<dd>v3.4.0</dd>
30+
</dlentry>
31+
</dl>
32+
<note type="attention">该方法需要在 <apiname>playEffect</apiname> 后调用。</note>
33+
</section>
34+
<section id="parameters"><title>参数</title>
35+
<parml>
36+
<plentry>
37+
<pt>sound</pt>
38+
<pd>音效 ID。请确保与 <apiname>playEffect</apiname> 中设置的 <parmname>soundId</parmname> 一致。</pd>
39+
</plentry>
40+
</parml>
41+
</section>
42+
<section id="return_values">
43+
<title>返回值</title>
44+
<ul>
45+
<li>≥ 0:方法调用成功,返回指定音效文件的播放进度(毫秒)。</li>
46+
<li>&lt; 0:方法调用失败。</li>
47+
</ul>
48+
</section>
49+
</refbody>
50+
</reference>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_geteffectduration">
4+
<title><ph keyref="getEffectDuration"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">获取指定音效文件总时长。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="getEffectDuration"/>
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java">public int getEffectDuration(String filePath);</codeblock>
17+
<codeblock props="ios mac" outputclass="language-objectivec">- (int)getEffectDuration:(NSString*)filePath;</codeblock>
18+
<codeblock props="windows" outputclass="language-cpp">virtual int getEffectDuration(const char* filePath) = 0;</codeblock>
19+
<codeblock props="electron" outputclass="language-typescript"/>
20+
<codeblock props="unity" outputclass="language-csharp"/>
21+
<codeblock props="rn" outputclass="language-typescript"/>
22+
<codeblock props="flutter" outputclass="language-dart"/>
23+
</p>
24+
</section>
25+
<section id="detailed_desc">
26+
<dl outputclass="since">
27+
<dlentry>
28+
<dt>自从</dt>
29+
<dd>v3.4.0</dd>
30+
</dlentry>
31+
</dl>
32+
<note type="attention">该方法需要在加入频道后调用。</note>
33+
</section>
34+
<section id="parameters"><title>参数</title>
35+
<parml>
36+
<plentry>
37+
<pt>filePath</pt>
38+
<pd><p conkeyref="playEffect3/filepath"></p>。</pd>
39+
</plentry>
40+
</parml>
41+
</section>
42+
<section id="return_values">
43+
<title>返回值</title>
44+
<ul>
45+
<li>≥ 0:方法调用成功,返回指定音效文件时长(毫秒)。</li>
46+
<li>&lt; 0:方法调用失败。</li>
47+
</ul>
48+
</section>
49+
</refbody>
50+
</reference>

dita/RTC/API/api_getmirrorapplied.dita

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<section id="detailed_desc">
1818

1919
<p>如果你希望获取的视频数据为原始视频的镜像,需要在调用 <xref keyref="registerVideoFrameObserver"/> 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对原始视频数据作镜像处理。</p>
20-
<note type="attention">该功能仅支持 RGBA 格式的视频数据。</note>
20+
<note type="attention">该功能仅支持 RGBA 和 YUV420 格式的视频数据。</note>
2121
</section>
2222
<section id="return_values">
2323
<title>返回值</title>

dita/RTC/API/api_getrotationapplied.dita

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<section id="detailed_desc">
1818

1919
<p>如果你希望获取的视频数据已根据 <xref keyref="VideoFrame"/> 中的旋转信息 <parmname>rotation</parmname> 进行旋转,需要在调用 <xref keyref="registerVideoFrameObserver"/> 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对采集到的视频数据进行旋转。</p>
20-
<note type="attention">该功能仅支持 RGBA 格式的视频数据。</note>
20+
<note type="attention">该功能仅支持 RGBA 和 YUV420 格式的视频数据。</note>
2121
</section>
2222
<section id="return_values">
2323
<title>返回值</title>

dita/RTC/API/api_onaudiomixingstatechanged.dita

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,28 @@
1010
</keywords>
1111
</metadata>
1212
</prolog>
13-
<refbody><section id="prototype">
14-
15-
<p outputclass="codeblock" conref="../conref/conref_rtc_api.dita#apidef/onAudioMixingStateChanged"/>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java">public void onAudioMixingStateChanged(int state,int reason)</codeblock>
17+
<codeblock props="ios mac" outputclass="language-objectivec">- (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine localAudioMixingStateDidChanged:(AgoraAudioMixingStateCode)state reason:(AgoraAudioMixingReasonCode)reason;</codeblock>
18+
<codeblock props="windows" outputclass="language-cpp">virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason)</codeblock>
19+
<codeblock props="electron" outputclass="language-typescript"/>
20+
<codeblock props="unity" outputclass="language-csharp"/>
21+
<codeblock props="rn" outputclass="language-typescript"/>
22+
<codeblock props="flutter" outputclass="language-dart"/>
23+
</p>
1624
</section>
25+
1726
<section id="detailed_desc">
1827

1928
<dl outputclass="since">
2029
<dlentry>
2130
<dt>自从</dt>
22-
<dd>v2.4.0</dd>
31+
<dd>v3.4.0</dd>
2332
</dlentry>
2433
</dl>
2534
<p>该回调在音乐文件播放状态发生改变时触发,并报告当前的播放状态和错误码。</p>
26-
<p>如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,SDK 会返回警告码 <apiname>WARN_AUDIO_MIXING_OPEN_ERROR</apiname>(701)。</p>
2735
</section>
2836
<section id="parameters"><title>参数</title>
2937
<parml>
@@ -32,7 +40,7 @@
3240
<pd>音乐文件播放状态,详见 <xref keyref="AUDIO_MIXING_STATE_TYPE"/>。</pd>
3341
</plentry>
3442
<plentry>
35-
<pt>errorCode</pt>
43+
<pt>reason</pt>
3644
<pd>错误码,详见 <xref keyref="AUDIO_MIXING_ERROR_TYPE"/>。</pd>
3745
</plentry>
3846
</parml>
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_seteffectposition">
4+
<title><ph keyref="setEffectPosition"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">设置指定音效文件的播放位置。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="setEffectPosition"/>
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java">public int setEffectPosition(int soundId, int pos);</codeblock>
17+
<codeblock props="ios mac" outputclass="language-objectivec">- (int)setEffectPosition:(int)soundId pos:(NSInteger)pos;</codeblock>
18+
<codeblock props="windows" outputclass="language-cpp">virtual int setEffectPosition(int soundId, int pos) = 0;</codeblock>
19+
<codeblock props="electron" outputclass="language-typescript"/>
20+
<codeblock props="unity" outputclass="language-csharp"/>
21+
<codeblock props="rn" outputclass="language-typescript"/>
22+
<codeblock props="flutter" outputclass="language-dart"/>
23+
</p>
24+
</section>
25+
<section id="detailed_desc">
26+
<dl outputclass="since">
27+
<dlentry>
28+
<dt>自从</dt>
29+
<dd>v3.4.0</dd>
30+
</dlentry>
31+
</dl>
32+
<p>成功设置后,本地音效文件会在指定位置开始播放。</p>
33+
<note type="attention">该方法需要在 <apiname>playEffect</apiname> 后调用。</note>
34+
</section>
35+
<section id="parameters"><title>参数</title>
36+
<parml>
37+
<plentry>
38+
<pt>soundId</pt>
39+
<pd>音效 ID。请确保与 <apiname>playEffect</apiname> 中设置的 <parmname>soundId</parmname> 一致。</pd>
40+
</plentry>
41+
<plentry>
42+
<pt>pos</pt>
43+
<pd>音效文件的播放位置,单位为毫秒。</pd>
44+
</plentry>
45+
</parml>
46+
</section>
47+
<section id="return_values">
48+
<title>返回值</title>
49+
<ul>
50+
<li>0: 方法调用成功</li>
51+
<li>&lt; 0: 方法调用失败</li>
52+
</ul>
53+
</section>
54+
</refbody>
55+
</reference>

dita/RTC/API/api_startaudiomixing.dita

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,15 @@
1515
<p outputclass="codeblock" conref="../conref/conref_rtc_api.dita#apidef/startAudioMixing"/>
1616
</section>
1717
<section id="detailed_desc">
18+
<dl outputclass="deprecated">
19+
<dlentry>
20+
<dt>弃用:</dt>
21+
<dd>自 v3.4.0 废弃,请改用 <xref keyref="startAudioMixing2"/>。</dd>
22+
</dlentry>
23+
</dl>
1824

19-
<p>该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 <xref keyref="onAudioMixingStateChanged"/> (<codeph>PLAY</codeph>) 回调。播放结束后,本地会触发 <apiname keyref="onAudioMixingStateChanged"/> (<codeph>STOPPED</codeph>) 回调。</p>
20-
<note type="attention">
25+
<p id="audiomixing_detailed">该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 <xref keyref="onAudioMixingStateChanged"/> (<codeph>PLAY</codeph>) 回调。播放结束后,本地会触发 <apiname keyref="onAudioMixingStateChanged"/> (<codeph>STOPPED</codeph>) 回调。</p>
26+
<note type="attention" id="audiomixing_note">
2127
<ul>
2228
<li>该方法需要在加入频道后调用。如需多次调用 <apiname keyref="startAudioMixing"/>,请确保调用间隔大于 500 ms。</li>
2329
<li>如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告 <codeph>WARN_AUDIO_MIXING_OPEN_ERROR</codeph> (701)。</li>
@@ -33,7 +39,7 @@
3339
<pt>filePath</pt>
3440
<pd><p conkeyref="playEffect3/filepath"/></pd>
3541
</plentry>
36-
<plentry>
42+
<plentry id="loopback">
3743
<pt>loopback</pt>
3844
<pd><p>是否只在本地播放音乐文件:
3945
<ul>
@@ -42,7 +48,7 @@
4248
</ul></p>
4349
</pd>
4450
</plentry>
45-
<plentry>
51+
<plentry id="replace">
4652
<pt>replace</pt>
4753
<pd><p>是否用音乐文件替换麦克风采集的音频:
4854
<ul>
@@ -51,7 +57,7 @@
5157
</ul></p>
5258
</pd>
5359
</plentry>
54-
<plentry>
60+
<plentry id="cycle">
5561
<pt>cycle</pt>
5662
<pd><p>音乐文件的播放次数。
5763
<ul>

0 commit comments

Comments
 (0)