Skip to content

Commit 06c1532

Browse files
jiewang2dongxinagoraCilla-luodanluodan
authored
Release/rtc ng/native/3.5.200 (#177)
* added ng high-level ditamaps (#110) * edit some mediaplayer methods * edit some mediaplayer methods and enums * Issue108 (#116) * added audio spectrum callbacks * added ng high-level APIs in IMediaEngine, IMediaPlayerSourceObserver, IRtcEngineEventHandler and IVideoFrameObserver * remove unused keys * edit some IMediaPlayer methods, structs and enums * fix duplicate keys * correct some errors * edit some IMediaPlayer methods and enums * make some changes * more changes * more changes * Issue107 (#118) * new added NG only topics * new topics added * format key dita map * add NG only APIs * fix review comments * fix review comments * update NG topics * update NG related ditamaps and add NG only topics * fix link issue * fix bug and missing topics. * Delete duplicate row. * fix publish errors. * Update api_mute.dita * add IMediaPlayer relationships * add pushAudioFrame * Update api_onnetworkquality.dita change the second xref into apiname * change repeated "xref" into "apiname" * add lost xref * add relationships of new APIs. * correct some tags * add codeph tags * add lost topicref * fix publish errors. * Revert "change repeated "xref" into "apiname"" This reverts commit 5858bb9. * Add essential relations according to Dong Xin's review * fix publish errors * delete 3 IMediaPlayer APIs in dita maps * Fix review comments from Wangjie * added keys for some enums * fix dita map * fix keys * Fix errors based on review comments * fixed comments concerning classes and enums * fix updateChannelMediaOptionsEx * fix review comments * fix review comments * fix keys and main dita map * fix build errors * fix comment * fix build errors * fix syntax error in overview page Co-authored-by: wangjie <[email protected]> Co-authored-by: dongxinagora <[email protected]> * fix mediaplayer grouping * added multichannel apis to the overview page * update enableLoopbackRecording in key map * added suffix "IMediaPlayer" to "registerVideoFrameObserver" * Fixes (#173) * removed electron videosource from overview * added filter values to filter rtc and rtc-ng; reuse playeffect in rtc-ng * reuse startLastmileProbeTest in NG * fix link errors * remove the extension struct * create ng error code doc * fix relationships * add videocanvas * added 3 IAudioEncodedFrameObserver callbacks and related info * add startaudiorecording3 and related class and enum * update the videoframe key in ng * added 2 callbacks and related info onEncodedVideoImageReceived onExtensionEvent * fix audiofilerecordingtype in keymap and ditamap * change more to default * corrected some errors * fix audiofilerecordingtype enum keys * added videoframetype for ng Co-authored-by: dongxinagora <[email protected]> Co-authored-by: dongxinagora <[email protected]> Co-authored-by: Cilla-luodan <[email protected]> Co-authored-by: luodan <[email protected]>
1 parent b9fb489 commit 06c1532

File tree

271 files changed

+21483
-353
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

271 files changed

+21483
-353
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_addvideowatermarkex">
4+
<title><ph keyref="addVideoWatermarkEx"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">添加本地视频水印。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="addVideoWatermarkEx" />
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody><section id="prototype">
14+
<p outputclass="codeblock">
15+
<codeblock props="android" outputclass="language-java"/>
16+
<codeblock props="ios mac" outputclass="language-objectivec"/>
17+
<codeblock props="windows" outputclass="language-cpp">virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions&amp; options, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
18+
</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+
27+
<p>该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户、旁路直播观众和采集设备都能看到或采集到该水印图片。Agora
28+
当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。</p>
29+
<p>水印坐标和 <xref keyref="setVideoEncoderConfiguration"/> 方法中的设置有依赖关系:<ul>
30+
<li>如果视频编码方向(<xref keyref="ORIENTATION_MODE"/>)
31+
固定为横屏或自适应模式下的横屏,那么水印使用横屏坐标。</li>
32+
<li>如果视频编码方向(<apiname keyref="ORIENTATION_MODE"/>)
33+
固定为竖屏或自适应模式下的竖屏,那么水印使用竖屏坐标。</li>
34+
<li>设置水印坐标时,水印的图像区域不能超出 <apiname keyref="setVideoEncoderConfiguration"/>
35+
方法中设置的视频尺寸,否则超出部分将被裁剪。</li>
36+
</ul> </p>
37+
<note type="attention">
38+
<ul>
39+
<li>你需要在调用 <xref keyref="enableVideo"/> 方法之后再调用本方法。</li>
40+
<li>如果你只是在旁路直播(推流到 CDN)中添加水印,你可以使用本方法或 <xref keyref="setLiveTranscoding"/> 方法设置水印。</li>
41+
<li>待添加水印图片必须是 PNG 格式。本方法支持所有像素格式的 PNG 图片:RGBA、RGB、Palette、Gray 和 Alpha_gray。</li>
42+
<li>如果待添加的 PNG 图片的尺寸与你在本方法中设置的尺寸不一致,SDK 会对 PNG 图片进行缩放或裁剪,以与设置相符。</li>
43+
<li>如果你已经使用 <xref keyref="startPreview"/> 方法开启本地视频预览,那么本方法的 <codeph>visibleInPreview</codeph> 可设置水印在预览时是否可见。</li>
44+
<li>如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像,Agora 建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。</li>
45+
</ul>
46+
</note>
47+
</section>
48+
<section id="parameters"><title>参数</title>
49+
<parml>
50+
<plentry>
51+
<pt>watermarkUrl</pt>
52+
<pd>待添加的水印图片的本地路径。本方法支持从本地绝对/相对路径添加水印图片。</pd>
53+
</plentry>
54+
<plentry>
55+
<pt>options</pt>
56+
<pd>待添加的水印图片的设置选项,详见 <xref keyref="WatermarkOptions"/>。</pd>
57+
</plentry>
58+
<plentry>
59+
<pt>connectionId</pt>
60+
<pd>连接 ID。
61+
</pd>
62+
</plentry>
63+
</parml>
64+
</section>
65+
<section id="return_values">
66+
<title>返回值</title>
67+
<ul>
68+
<li>0: 方法调用成功</li>
69+
<li>&lt; 0: 方法调用失败</li>
70+
</ul>
71+
</section></refbody>
72+
</reference>
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_adjustloopbackrecordingvolume">
4+
<title><ph keyref="adjustLoopbackRecordingVolume"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">调节声卡采集信号音量。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="adjustLoopbackRecordingVolume"/>
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java"/>
17+
<codeblock props="ios mac" outputclass="language-objectivec"/>
18+
<codeblock props="windows" outputclass="language-cpp">virtual int adjustLoopbackRecordingVolume(int volume) = 0;
19+
</codeblock>
20+
<codeblock props="electron" outputclass="language-typescript"/>
21+
<codeblock props="unity" outputclass="language-csharp"/>
22+
<codeblock props="rn" outputclass="language-typescript"/>
23+
<codeblock props="flutter" outputclass="language-dart"/>
24+
</p>
25+
</section>
26+
<section id="detailed_desc">
27+
<p>调用 <xref keyref="enableLoopbackRecording"/> 开启声卡采集后,你可以调用该方法调节声卡采集的信号音量。</p>
28+
</section>
29+
<section id="parameters"><title>参数</title>
30+
<parml>
31+
<plentry>
32+
<pt>volume</pt>
33+
<pd>声卡采集信号音量。取值范围为 [0,100]。默认值为 100,表示原始音量。</pd>
34+
</plentry>
35+
</parml>
36+
</section>
37+
<section id="return_values">
38+
<title>返回值</title>
39+
<ul id="ul_n4m_tyw_jqb">
40+
<li>0: 方法调用成功 </li>
41+
<li>&lt; 0: 方法调用失败</li>
42+
</ul>
43+
</section>
44+
</refbody>
45+
</reference>
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_adjustplayoutvolume">
4+
<title><ph keyref="adjustPlayoutVolume"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">调节本地播放音量。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="adjustPlayoutVolume"/>
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java"/>
17+
<codeblock props="ios mac" outputclass="language-objectivec"/>
18+
<codeblock props="windows" outputclass="language-cpp">virtual int adjustPlayoutVolume(int volume) = 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="parameters">
26+
<title>参数</title>
27+
<parml>
28+
<plentry>
29+
<pt>volume</pt>
30+
<pd>本地播放音量,取值范围从 0 到 100: <ul id="ul_lds_32y_hqb">
31+
<li>0: 无声。</li>
32+
<li>100: (默认)媒体文件的原始播放音量。</li>
33+
</ul></pd>
34+
</plentry>
35+
</parml>
36+
</section>
37+
<section id="return_values">
38+
<title>返回值</title>
39+
<ul id="ul_uns_l2y_hqb">
40+
<li>0: 方法调用成功。</li>
41+
<li>&lt; 0: 方法调用失败。</li>
42+
</ul>
43+
</section>
44+
</refbody>
45+
</reference>
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_adjustpublishsignalvolume">
4+
<title><ph keyref="adjustPublishSignalVolume"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">调节远端用户听到的音量。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="adjustPublishSignalVolume"/>
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java"/>
17+
<codeblock props="ios mac" outputclass="language-objectivec"/>
18+
<codeblock props="windows" outputclass="language-cpp">virtual int adjustPublishSignalVolume(int volume) = 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+
<p>连接到 Agora 服务器后,你可以调用该方法,调节远端用户听到的媒体文件的音量。</p>
27+
</section>
28+
<section id="parameters"><title>参数</title>
29+
<parml>
30+
<plentry>
31+
<pt>volume</pt>
32+
<pd>信号音量,取值范围从 0 到 400: <ul id="ul_qky_yky_hqb">
33+
<li>0: 无声。</li>
34+
<li>100: (默认)媒体文件的原始音量。</li>
35+
<li>400: 原始音量的四倍(自带溢出保护)。</li>
36+
</ul></pd>
37+
</plentry>
38+
</parml>
39+
</section>
40+
<section id="return_values">
41+
<title>返回值</title>
42+
<ul id="ul_uns_l2y_hqb">
43+
<li>0: 方法调用成功。</li>
44+
<li>&lt; 0: 方法调用失败。</li>
45+
</ul>
46+
47+
</section>
48+
</refbody>
49+
</reference>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_changeplaybackspeed">
4+
<title><ph keyref="changePlaybackSpeed"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">调节播放速度。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="changePlaybackSpeed"/>
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody>
14+
<section id="prototype">
15+
<p outputclass="codeblock">
16+
<codeblock props="android" outputclass="language-java"/>
17+
<codeblock props="ios mac" outputclass="language-objectivec"/>
18+
<codeblock props="windows" outputclass="language-cpp">virtual int changePlaybackSpeed(media::base::MEDIA_PLAYER_PLAYBACK_SPEED speed) = 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">请在 <ph keyref="play"/> 后调用该方法。</section>
26+
<section id="parameters"><title>参数</title>
27+
<parml>
28+
<plentry>
29+
<pt>speed</pt>
30+
<pd>播放媒体资源的速度,详见 <xref keyref="MEDIA_PLAYER_PLAYBACK_SPEED"/>。</pd>
31+
</plentry>
32+
</parml>
33+
</section>
34+
<section id="return_values">
35+
<title>返回值</title>
36+
<ul id="ul_uns_l2y_hqb">
37+
<li>0: 方法调用成功。</li>
38+
<li>&lt; 0: 方法调用失败。</li>
39+
</ul>
40+
</section>
41+
</refbody>
42+
</reference>
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_clearvideowatermarkex">
4+
<title><ph keyref="clearVideoWatermarkEx"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">删除已添加的视频水印(区分连接 ID)。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="clearVideoWatermarkEx" />
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody><section id="prototype">
14+
<p outputclass="codeblock">
15+
<codeblock props="android" outputclass="language-java"/>
16+
<codeblock props="ios mac" outputclass="language-objectivec"/>
17+
<codeblock props="windows" outputclass="language-cpp">virtual int clearVideoWatermark(conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
18+
</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="parameters">
26+
<title>参数</title>
27+
<parml>
28+
<plentry>
29+
<pt>connectionId</pt>
30+
<pd>当前连接 ID。 </pd>
31+
</plentry>
32+
</parml>
33+
</section>
34+
<section id="return_values">
35+
<title>返回值</title>
36+
<ul>
37+
<li>0: 方法调用成功</li>
38+
<li>&lt; 0: 方法调用失败</li>
39+
</ul>
40+
</section></refbody>
41+
</reference>
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
3+
<reference id="api_createdatastreamex1">
4+
<title><ph keyref="createDataStreamEx1"/></title>
5+
<shortdesc id="short"><ph id="shortdesc">创建数据流。</ph></shortdesc>
6+
<prolog>
7+
<metadata>
8+
<keywords>
9+
<indexterm keyref="createDataStreamEx1" />
10+
</keywords>
11+
</metadata>
12+
</prolog>
13+
<refbody><section id="prototype">
14+
<p outputclass="codeblock">
15+
<codeblock props="android" outputclass="language-java"/>
16+
<codeblock props="ios mac" outputclass="language-objectivec"/>
17+
<codeblock props="windows" outputclass="language-cpp">virtual int createDataStream(int* streamId, bool reliable, bool ordered, conn_id_t connectionId = agora::rtc::DEFAULT_CONNECTION_ID) = 0;
18+
</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+
25+
</section>
26+
<section id="detailed_desc">
27+
<dl outputclass="deprecated" id="dl_fvq_yqm_3qb">
28+
<dlentry>
29+
<dt>弃用:</dt>
30+
<dd>该方法已废弃。请改用 <xref keyref="createDataStreamEx2"/>。</dd>
31+
</dlentry>
32+
</dl>
33+
<p id="desc">你可以调用该方法创建数据流并提高数据传输的可靠性和有序性。</p>
34+
<note type="attention" id="note">
35+
<ul id="ul_gvq_yqm_3qb">
36+
<li>请确保将 <codeph>reliable</codeph> 和 <codeph>ordered</codeph> 设为相同的值。</li>
37+
<li>在 <xref keyref="IRtcEngine"/> 生命周期内,每个用户最多只能创建 5 个数据流。</li>
38+
<li>频道内数据通道最多允许数据延迟 5 秒,若超过 5 秒接收方尚未收到数据流,则数据通道会向 app 报错。</li>
39+
</ul>
40+
</note>
41+
</section>
42+
<section id="parameters">
43+
<title>参数</title>
44+
<parml id="parml_cwc_jsm_3qb">
45+
<plentry props="windows" id="streamId">
46+
<pt>streamId</pt>
47+
<pd>输出参数,数据流 ID。</pd>
48+
</plentry>
49+
<plentry>
50+
<pt>reliable</pt>
51+
<pd>
52+
<p>是否保证数据可靠性,即接收方是否需要在数据发送后的 5 秒内接收:<ul id="ul_dwc_jsm_3qb">
53+
<li><codeph>true</codeph>: 保证接收方会在数据发送后的 5 秒内接收。如果接收方在数据发送后的 5
54+
秒内没有接收数据,SDK 会报错。</li>
55+
<li><codeph>false</codeph>: 不保证收方会在数据发送后的 5 秒内接收。如果接收延迟或丢失数据,SDK
56+
不会报错。</li>
57+
</ul></p>
58+
</pd>
59+
</plentry><plentry id="ordered">
60+
<pt>ordered</pt>
61+
<pd>
62+
<p>是否保证数据有序性,即接收方是否需要收到有序的数据:<ul id="ul_gwc_jsm_3qb">
63+
<li><codeph><ph keyref="true"/></codeph>:
64+
保证接收方会按照发送方发送的顺序收到数据包。</li>
65+
<li><codeph><ph keyref="false"/></codeph>:
66+
不保证接收方按照发送方发送的顺序收到数据包。</li>
67+
</ul></p>
68+
</pd>
69+
</plentry>
70+
<plentry>
71+
<pt>connectionId</pt>
72+
<pd>
73+
<p>连接 ID。</p>
74+
</pd>
75+
</plentry>
76+
</parml>
77+
</section>
78+
<section id="return_values">
79+
<title>返回值</title>
80+
<ul>
81+
<li props="android ios mac electron">成功创建的数据流 ID:方法调用成功。</li>
82+
<li props="windows">0: 创建数据流成功。</li>
83+
<li>&lt; 0: 创建数据流失败。</li>
84+
</ul>
85+
</section></refbody>
86+
</reference>

0 commit comments

Comments
 (0)