@byteplus/rtc 4.54.1 → 4.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -26,7 +26,8 @@ export interface IAudioMixingManager {
26
26
  * @notes + If you have already loaded the sound effect into memory through [preloadAudioMixing](#preloadaudiomixing), make sure that the ID here is the same as the ID set by [preloadAudioMixing](#preloadaudiomixing).
27
27
  * + After you start playing the audio file and mixing, you can call the [stopAudioMixing](#stopaudiomixing) method to stop playing the audio file.
28
28
  * + The mixing data of this method comes from an external file, while the mixing data of [enableAudioMixingBuffer](#enableaudiomixingbuffer) comes from an external cache and the audio format is PCM. These two mixing methods can coexist.
29
- * @region Advanced Feature
29
+ * @group Audio Mixing
30
+ * @order 5
30
31
  */
31
32
  startAudioMixing: (id: number, filePath: string, options: MixOption) => Promise<void>;
32
33
 
@@ -35,7 +36,8 @@ export interface IAudioMixingManager {
35
36
  * @param id ID of the mixing
36
37
  * @notes + After calling [startAudioMixing](#startaudiomixing) method to start playing audio files and mixes, you can call this method to stop playing audio files and mixes.
37
38
  * + After calling this method to stop playing the audio file, the audio file will be automatically uninstalled.
38
- * @region Advanced Feature
39
+ * @group Audio Mixing
40
+ * @order 6
39
41
  */
40
42
  stopAudioMixing: (id: number) => void;
41
43
 
@@ -44,7 +46,8 @@ export interface IAudioMixingManager {
44
46
  * @param id ID of the mixing
45
47
  * @notes + After calling [startAudioMixing](#startaudiomixing) method to start playing audio files and mixes, you can call this method to pause playing audio files and mixes.
46
48
  * + After calling this method to pause playing audio files and mixing, you can call the [resumeAudioMixing](#resumeaudiomixing) method to resume playing and mixing.
47
- * @region Advanced Feature
49
+ * @group Audio Mixing
50
+ * @order 7
48
51
  */
49
52
  pauseAudioMixing: (id: number) => void;
50
53
 
@@ -52,7 +55,8 @@ export interface IAudioMixingManager {
52
55
  * @brief Resume playing audio files and mixing
53
56
  * @param id Mixing ID
54
57
  * @notes After calling the [pauseAudioMixing](#pauseaudiomixing) method to pause playing audio files and mixing, you can resume playing and mixing by calling this method.
55
- * @region Advanced Feature
58
+ * @group Audio Mixing
59
+ * @order 8
56
60
  */
57
61
  resumeAudioMixing: (id: number) => void;
58
62
 
@@ -67,14 +71,16 @@ export interface IAudioMixingManager {
67
71
  * @notes + When you need to play an audio file frequently, call this method to preload the file. When playing, you can only load the file once to reduce CPU usage.
68
72
  * + This method pre-loads the specified audio file, and only calling [startAudioMixing](#startaudiomixing) API can you start playing the specified audio file.
69
73
  * + The specified audio file preloaded by calling this method can be unloaded through [unloadAudioMixing](#unloadaudiomixing).
70
- * @region Advanced Feature
74
+ * @group Audio Mixing
75
+ * @order 9
71
76
  */
72
77
  preloadAudioMixing: (id: number, filePath: string) => Promise<void>;
73
78
 
74
79
  /**
75
80
  * @brief Uninstall the specified audio file
76
81
  * @param id Mix ID
77
- * @region Advanced Feature
82
+ * @group Audio Mixing
83
+ * @order 10
78
84
  */
79
85
  unloadAudioMixing: (id: number) => void;
80
86
 
@@ -85,7 +91,8 @@ export interface IAudioMixingManager {
85
91
  * + 0: Mute
86
92
  * + 100: Original volume
87
93
  * + 400: Maximum volume (with overflow protection)
88
- * @region Advanced Feature
94
+ * @group Audio Mixing
95
+ * @order 16
89
96
  */
90
97
  setAudioMixingVolume: (id: number, volume: number) => void;
91
98
 
@@ -94,7 +101,8 @@ export interface IAudioMixingManager {
94
101
  * @param id Audio mix id
95
102
  * @return + `0`: Failure
96
103
  * + `>0`: Successful. Volume
97
- * @region Advanced Feature
104
+ * @group Audio Mixing
105
+ * @order 15
98
106
  */
99
107
  getAudioMixingVolume: (id: number) => number;
100
108
 
@@ -104,7 +112,8 @@ export interface IAudioMixingManager {
104
112
  * @return + `> 0`: Success, audio file duration, in milliseconds.
105
113
  * + `< 0`: Failure
106
114
  * @notes Before calling this method to obtain the length of the audio file, you need to call [preloadAudioMixing](#preloadaudiomixing) or [startAudioMixing](#startaudiomixing).
107
- * @region Advanced Feature
115
+ * @group Audio Mixing
116
+ * @order 20
108
117
  */
109
118
  getAudioMixingDuration: (id: number) => number;
110
119
 
@@ -114,7 +123,8 @@ export interface IAudioMixingManager {
114
123
  * @return + `> 0`: Success, audio file playback progress, in milliseconds.
115
124
  * + `< 0`: Failed
116
125
  * @notes Before calling this method to get the audio file playback progress, you need to call [startAudioMixing](#startaudiomixing) to start playing the audio file.
117
- * @region Advanced Feature
126
+ * @group Audio Mixing
127
+ * @order 25
118
128
  */
119
129
  getAudioMixingCurrentPosition: (id: number) => number;
120
130
 
@@ -124,8 +134,9 @@ export interface IAudioMixingManager {
124
134
  * @param position The starting playback position of the audio file in milliseconds.
125
135
  * Call [getAudioMixingDuration](#getaudiomixingduration) to get the duration of the audio file. The value of `position` must not be greater than the duration of the audio file.
126
136
  * @notes + This method allows you to play an audio file from a specified position as appropriate, without having to play an audio file in its entirety from the beginning to finish.
127
- * + Before calling this method to set the playback position of the audio file, you need to call [startAudioMixing](#startaudiomixing) to start playing the audio file.
128
- * @region Advanced Feature
137
+ * + Before calling this method to set the playback position of the audio file, you need to call [startAudioMixing](#startaudiomixing) to start playing the audio file.
138
+ * @group Audio Mixing
139
+ * @order 26
129
140
  */
130
141
  setAudioMixingPosition: (id: number, position: number) => void;
131
142
 
@@ -136,13 +147,15 @@ export interface IAudioMixingManager {
136
147
  * Whether the PCM data is mixed locally and sent to the remotes.
137
148
  * @notes + After this API, you must call [pushAudioMixingBuffer](#pushaudiomixingbuffer) to start mixing.
138
149
  * + To end PCM mixing, use [disableAudioMixingBuffer](#disableaudiomixingbuffer).
139
- * @region Advanced Feature
150
+ * @group Audio Mixing
151
+ * @order 30
140
152
  */
141
153
  enableAudioMixingBuffer: (type: AudioMixingType) => void;
142
154
 
143
155
  /**
144
156
  * @brief Disable PCM mixing.
145
- * @region Advanced Feature
157
+ * @group Audio Mixing
158
+ * @order 31
146
159
  */
147
160
  disableAudioMixingBuffer: () => void;
148
161
 
@@ -150,7 +163,8 @@ export interface IAudioMixingManager {
150
163
  * @brief Push PCM audio frame data for mixing
151
164
  * @param buffer Refer to [Browser documentation](https://developer.mozilla.org/en-US/docs/Web/API/AudioBuffer)
152
165
  * @notes Before calling this method, you must start the external audio stream mixing through [enableAudioMixingBuffer](#enableaudiomixingbuffer).
153
- * @region Advanced Feature
166
+ * @group Audio Mixing
167
+ * @order 32
154
168
  */
155
169
  pushAudioMixingBuffer: (buffer: AudioBuffer) => void;
156
170
  }
@@ -666,6 +680,7 @@ declare enum ErrorCode {
666
680
  RECONNECT_FAILED = "RECONNECT_FAILED",
667
681
 
668
682
  /**
683
+ * @hidden
669
684
  * @brief Subtitles are already on. There is no need to call [startSubtitle](104478#startsubtitle) again.
670
685
  */
671
686
  SUBTITLE_ALREADY_ON = "SUBTITLE_ALREADY_ON",
@@ -677,21 +692,25 @@ declare enum ErrorCode {
677
692
  SUBTITLE_NOT_TURNED_ON = "SUBTITLE_NOT_TURNED_ON",
678
693
 
679
694
  /**
695
+ * @hidden
680
696
  * @brief Errors occurred concerning cloud media processing. Please contact the technical support.
681
697
  */
682
698
  SUBTITLE_ERR_POSTPROCESS = "SUBTITLE_ERR_POSTPROCESS",
683
699
 
684
700
  /**
701
+ * @hidden
685
702
  * @brief Failed to connect to the thrid-party service. Please contact the technical support.
686
703
  */
687
704
  SUBTITLE_ERR_CONNECTION_ERROR = "SUBTITLE_ERR_CONNECTION_ERROR",
688
705
 
689
706
  /**
707
+ * @hidden
690
708
  * @brief Cloud media processing is timeout. Please contact the technical support.
691
709
  */
692
710
  SUBTITLE_ERR_PROCESS_ERROR = "SUBTITLE_ERR_PROCESS_ERROR",
693
711
 
694
712
  /**
713
+ * @hidden
695
714
  * @brief The client side failed to identity error codes sent by cloud media processing. Please contact the technical support.
696
715
  */
697
716
  SUBTITLE_ERR_UNKNOWN = "SUBTITLE_ERR_UNKNOWN",
@@ -1931,28 +1950,32 @@ export interface IEngineEvents {
1931
1950
  /**
1932
1951
  * @brief Player event
1933
1952
  * @param event
1934
- * @region Video Management Event
1953
+ * @group Video Management
1954
+ * @order 65
1935
1955
  */
1936
1956
  [EngineEventsTypes.onPlayerEvent]: (event: PlayerEvent) => void;
1937
1957
 
1938
1958
  /**
1939
1959
  * @brief Callback for a remote visible user joining the room, or an invisible user in the room switching to visible.
1940
1960
  * @param event
1941
- * @region Room Management Event
1961
+ * @group Room Management
1962
+ * @order 30
1942
1963
  */
1943
1964
  [EngineEventsTypes.onUserJoined]: (event: onUserJoinedEvent) => void;
1944
1965
 
1945
1966
  /**
1946
1967
  * @brief Callback for a remote visible user leaving the room, or a visible user in the room switching to invisible.
1947
1968
  * @param event
1948
- * @region Room Management Event
1969
+ * @group Room Management
1970
+ * @order 31
1949
1971
  */
1950
1972
  [EngineEventsTypes.onUserLeave]: (event: onUserLeaveEvent) => void;
1951
1973
 
1952
1974
  /**
1953
1975
  * @brief Connection state changed
1954
1976
  * @param event
1955
- * @region Network Event
1977
+ * @group Room Management
1978
+ * @order 35
1956
1979
  */
1957
1980
  [EngineEventsTypes.onConnectionStateChanged]: (event: ConnectionStateChangeEvent) => void;
1958
1981
 
@@ -1960,13 +1983,14 @@ export interface IEngineEvents {
1960
1983
  * @hidden
1961
1984
  * @brief Vendor ICE connection state changed
1962
1985
  * @param event
1963
- * @region Network Event
1964
1986
  */
1965
1987
  [EngineEventsTypes.onVendorConnectionStateChanged]: (event: VendorConnectionStateChangeEvent) => void;
1966
1988
 
1967
1989
  /**
1968
1990
  * @brief Callback on new media streams captured by camera/microphone in the room.
1969
1991
  * @notes You will receive this callback after a remote user successfully publishes media streams captured by camera/microphone in the room with [publishStream](104478#publishstream). Then you can choose whether to call [subscribeStream](104478#subscribestream) to subscribe to the streams or not.
1992
+ * @group Audio & Video Transport
1993
+ * @order 60
1970
1994
  */
1971
1995
  [EngineEventsTypes.onUserPublishStream]: (event: {
1972
1996
 
@@ -1984,6 +2008,8 @@ export interface IEngineEvents {
1984
2008
  /**
1985
2009
  * @brief Callback on removal of remote media stream captured by camera/microphone.
1986
2010
  * @notes You will receive this callback after a remote user successfully unpublishes media streams captured by camera/microphone in the room with [unpublishStream](104478#unpublishstream). Then you can choose whether to call [unsubscribeStream](104478#unsubscribestream) to unsubscribe from the streams or not.
2011
+ * @group Audio & Video Transport
2012
+ * @order 61
1987
2013
  */
1988
2014
  [EngineEventsTypes.onUserUnpublishStream]: (event: {
1989
2015
 
@@ -2006,6 +2032,8 @@ export interface IEngineEvents {
2006
2032
  /**
2007
2033
  * @brief Callback on new screen sharing media streams from remote users in the room.
2008
2034
  * @notes You will receive this callback after a remote user successfully published screen sharing streams in the room with [publishScreen](104478#publishscreen). Then you can choose whether to call [subscribeScreen](104478#subscribescreen) to subscribe to the streams or not.
2035
+ * @group Screen Sharing
2036
+ * @order 30
2009
2037
  */
2010
2038
  [EngineEventsTypes.onUserPublishScreen]: (event: {
2011
2039
 
@@ -2023,6 +2051,8 @@ export interface IEngineEvents {
2023
2051
  /**
2024
2052
  * @brief Callback on removal of screen sharing media streams from remote users in the room.
2025
2053
  * @notes You will receive this callback after a remote user successfully unpublishes media streams captured by camera/microphone in the room with [unpublishScreen](104478#unpublishscreen). Then you can choose whether to call [unsubscribeScreen](104478#unsubscribescreen) to unsubscribe from the streams or not.
2054
+ * @group Screen Sharing
2055
+ * @order 31
2026
2056
  */
2027
2057
  [EngineEventsTypes.onUserUnpublishScreen]: (event: {
2028
2058
 
@@ -2047,7 +2077,6 @@ export interface IEngineEvents {
2047
2077
  * @deprecated since 4.47, use on onRemoteVideoFirstFrame instead.
2048
2078
  * @brief Rendering of the first video frame
2049
2079
  * @param event
2050
- * @region Video Management Event
2051
2080
  */
2052
2081
  [EngineEventsTypes.onVideoFirstFrameRendered]: (event: onVideoFirstFrameRenderedEvent) => void;
2053
2082
 
@@ -2056,14 +2085,14 @@ export interface IEngineEvents {
2056
2085
  * @deprecated since 4.47, use on onRemoteVideoFirstFrame instead.
2057
2086
  * @brief Rendering of the first video frame
2058
2087
  * @param event
2059
- * @region Video Management Event
2060
2088
  */
2061
2089
  [EngineEventsTypes.onVideoFirstFrameDecoded]: (event: onVideoFirstFrameDecodedEvent) => void;
2062
2090
 
2063
2091
  /**
2064
2092
  * @brief Decoding of the first video frame
2065
2093
  * @param event
2066
- * @region Video Management Event
2094
+ * @group Audio & Video Transport
2095
+ * @order 65
2067
2096
  */
2068
2097
  [EngineEventsTypes.onRemoteVideoFirstFrame]: (event: onVideoFirstFrameRenderedEvent) => void;
2069
2098
 
@@ -2072,40 +2101,38 @@ export interface IEngineEvents {
2072
2101
  * @deprecated since 4.47, use on onRemoteAudioFirstFrame instead.
2073
2102
  * @brief Decoding of the first audio frame
2074
2103
  * @param event
2075
- * @region Audio Management Event
2076
2104
  */
2077
2105
  [EngineEventsTypes.onAudioFirstFrameDecoded]: (event: onAudioFirstFrameDecodedEvent) => void;
2078
2106
 
2079
2107
  /**
2080
2108
  * @brief first remote audio frame Received
2081
2109
  * @param event
2082
- * @region Audio Management Event
2110
+ * @group Audio & Video Transport
2111
+ * @order 66
2083
2112
  */
2084
2113
  [EngineEventsTypes.onRemoteAudioFirstFrame]: (event: onAudioFirstFrameDecodedEvent) => void;
2085
2114
 
2086
2115
  /**
2087
2116
  * @brief Event of video device state changing.
2088
2117
  * @param event Information and state of a media device.
2118
+ * @group Video Management
2119
+ * @order 50
2089
2120
  */
2090
2121
  [EngineEventsTypes.onVideoDeviceStateChanged]: (event: DeviceInfo) => void;
2091
2122
 
2092
2123
  /**
2093
2124
  * @brief Event of audio device state changing.
2094
2125
  * @param event Information and state of a media device.
2126
+ * @group Audio Management
2127
+ * @order 50
2095
2128
  */
2096
2129
  [EngineEventsTypes.onAudioDeviceStateChanged]: (event: DeviceInfo) => void;
2097
2130
 
2098
- /**
2099
- * @brief Failure of automatically playing
2100
- * @param event
2101
- * @region Video Management Event
2102
- */
2103
- [EngineEventsTypes.onAutoplayFailed]: (event: AutoPlayFailedEvent) => void;
2104
-
2105
2131
  /**
2106
2132
  * @brief Event of media track ending
2107
2133
  * @param event
2108
- * @region Video Management Event
2134
+ * @group Video Management
2135
+ * @order 75
2109
2136
  */
2110
2137
  [EngineEventsTypes.onTrackEnded]: (event: {
2111
2138
 
@@ -2155,7 +2182,8 @@ export interface IEngineEvents {
2155
2182
  /**
2156
2183
  * @brief Event of receiving a broadcast text message in the room
2157
2184
  * @param event
2158
- * @region Message Event
2185
+ * @group Message
2186
+ * @order 55
2159
2187
  */
2160
2188
  [EngineEventsTypes.onRoomMessageReceived]: (event: {
2161
2189
 
@@ -2173,7 +2201,8 @@ export interface IEngineEvents {
2173
2201
  /**
2174
2202
  * @brief Event of receiving a broadcast binary message in the room
2175
2203
  * @param event
2176
- * @region Message Event
2204
+ * @group Message
2205
+ * @order 56
2177
2206
  */
2178
2207
  [EngineEventsTypes.onRoomBinaryMessageReceived]: (event: {
2179
2208
 
@@ -2191,28 +2220,32 @@ export interface IEngineEvents {
2191
2220
  /**
2192
2221
  * @brief Receiving a point-to-point text message from one of the users in the room by calling [sendUserMessage](104478#sendusermessage)
2193
2222
  * @param event
2194
- * @region Message Event
2223
+ * @group Message
2224
+ * @order 50
2195
2225
  */
2196
2226
  [EngineEventsTypes.onUserMessageReceived]: (event: UserMessageEvent) => void;
2197
2227
 
2198
2228
  /**
2199
2229
  * @brief Receiving a point-to-point binary message from one of the users in the room
2200
2230
  * @param event
2201
- * @region Message Event
2231
+ * @group Message
2232
+ * @order 51
2202
2233
  */
2203
2234
  [EngineEventsTypes.onUserBinaryMessageReceived]: (event: UserBinaryMessageEvent) => void;
2204
2235
 
2205
2236
  /**
2206
2237
  * @brief Statistics of subscribed media streams and network states in a cycle of 2s
2207
2238
  * @param stats
2208
- * @region Room Event
2239
+ * @group Audio & Video Transport
2240
+ * @order 70
2209
2241
  */
2210
2242
  [EngineEventsTypes.onRemoteStreamStats]: (stats: RemoteStreamStats) => void;
2211
2243
 
2212
2244
  /**
2213
2245
  * @brief Statistics of local media streams and network states in a cycle of 2s
2214
2246
  * @param stats
2215
- * @region Room Event
2247
+ * @group Audio & Video Transport
2248
+ * @order 71
2216
2249
  */
2217
2250
  [EngineEventsTypes.onLocalStreamStats]: (stats: LocalStreamStats) => void;
2218
2251
 
@@ -2220,6 +2253,8 @@ export interface IEngineEvents {
2220
2253
  * @hidden
2221
2254
  * @brief This 2 s periodical callback notifies information of the public stream after calling [startPlayPublicStream](104478#startplaypublicstream).
2222
2255
  * @param stats
2256
+ * @group Public Stream
2257
+ * @order 20
2223
2258
  */
2224
2259
  [EngineEventsTypes.onPublicStreamStats]: (stats: PublicStreamStats) => void;
2225
2260
 
@@ -2229,7 +2264,6 @@ export interface IEngineEvents {
2229
2264
  * @brief Volume of each of the users in the room
2230
2265
  * If the user has not joined a room, the list will only include volume of `local_user`.
2231
2266
  * @param event
2232
- * @region Room Event
2233
2267
  */
2234
2268
  [EngineEventsTypes.onAudioVolumeIndication]: (event: {
2235
2269
 
@@ -2243,7 +2277,8 @@ export interface IEngineEvents {
2243
2277
  * @brief After calling [enableAudioPropertiesReport](104478#enableaudiopropertiesreport), you will periodically receive this callback for the information about local audio.
2244
2278
  * Local audio includes the microphone audio and the screen audio captured using RTC SDK internal mechanisms.
2245
2279
  * @param event Information about local audio.
2246
- * @region Audio Managment
2280
+ * @group Audio Management
2281
+ * @order 55
2247
2282
  */
2248
2283
  [EngineEventsTypes.onLocalAudioPropertiesReport]: (event: LocalAudioPropertiesInfo[]) => void;
2249
2284
 
@@ -2251,27 +2286,32 @@ export interface IEngineEvents {
2251
2286
  * @brief After calling [enableAudioPropertiesReport](104478#enableaudiopropertiesreport), you will periodically receive this callback for the information about the subscribed remote audio streams.
2252
2287
  * The remote audio streams includes the microphone audio and screen audio collected using the RTC SDK internal mechanism/custom mechanism.
2253
2288
  * @param event Information about remote audio.
2254
- * @region Audio Management
2289
+ * @group Audio Management
2290
+ * @order 56
2255
2291
  */
2256
2292
  [EngineEventsTypes.onRemoteAudioPropertiesReport]: (event: RemoteAudioPropertiesInfo[]) => void;
2257
2293
 
2258
2294
  /**
2259
2295
  * @brief After calling [enableAudioPropertiesReport](104478#enableaudiopropertiesreport), you will periodically receive this callback for the information of the user with the highest voice volume.
2260
2296
  * @param event The information of the user with the highest voice volume.
2261
- * @region Audio Management
2297
+ * @group Audio Management
2298
+ * @order 60
2262
2299
  */
2263
2300
  [EngineEventsTypes.onActiveSpeaker]: (userInfo: UserInfo) => void;
2264
2301
 
2265
2302
  /**
2266
- * @brief The current playback device has been changed successfully by calling [setAudioPlaybackDevice](104478#setAudioPlaybackDevice).
2303
+ * @brief The current playback device has been changed successfully by calling [setAudioPlaybackDevice](104478#setaudioplaybackdevice).
2267
2304
  * @param event Information of the media devices. See [MediaDeviceInfo](https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo).
2305
+ * @group Audio Management
2306
+ * @order 65
2268
2307
  */
2269
2308
  [EngineEventsTypes.onAudioPlaybackDeviceChanged]: (event: MediaDeviceInfo) => void;
2270
2309
 
2271
2310
  /**
2272
2311
  * @brief The remote clients in the room will be informed of the state change via this event after the publisher starts audio capture by calling [startAudioCapture](104478#startaudiocapture).
2273
2312
  * @param event
2274
- * @region Audio Management Event
2313
+ * @group Audio Management
2314
+ * @order 70
2275
2315
  */
2276
2316
  [EngineEventsTypes.onUserStartAudioCapture]: (event: {
2277
2317
 
@@ -2284,7 +2324,8 @@ export interface IEngineEvents {
2284
2324
  /**
2285
2325
  * @brief The remote clients in the room will be informed of the state change via this event after the publisher stops audio capture by calling [stopAudioCapture](104478#stopaudiocapture).
2286
2326
  * @param event
2287
- * @region Room Management Event
2327
+ * @group Audio Management
2328
+ * @order 71
2288
2329
  */
2289
2330
  [EngineEventsTypes.onUserStopAudioCapture]: (event: {
2290
2331
 
@@ -2297,7 +2338,8 @@ export interface IEngineEvents {
2297
2338
  /**
2298
2339
  * @brief The remote clients in the room will be informed of the state change via this event after the publisher starts video capture by calling [startVideoCapture](104478#startvideocapture).
2299
2340
  * @param event
2300
- * @region Room Management Event
2341
+ * @group Video Management
2342
+ * @order 55
2301
2343
  */
2302
2344
  [EngineEventsTypes.onUserStartVideoCapture]: (event: {
2303
2345
 
@@ -2310,7 +2352,8 @@ export interface IEngineEvents {
2310
2352
  /**
2311
2353
  The remote clients in the room will be informed of the state change via this event after the publisher stops video capture by calling [stopVideoCapture](104478#stopvideocapture).
2312
2354
  * @param event
2313
- * @region Room Management Event
2355
+ * @group Video Management
2356
+ * @order 56
2314
2357
  */
2315
2358
  [EngineEventsTypes.onUserStopVideoCapture]: (event: {
2316
2359
 
@@ -2323,14 +2366,16 @@ export interface IEngineEvents {
2323
2366
  /**
2324
2367
  * @brief Event of receiving SEI data from video frames
2325
2368
  * @param event Event of receiving SEI data
2326
- * @region Message Event
2369
+ * @group Message
2370
+ * @order 60
2327
2371
  */
2328
2372
  [EngineEventsTypes.onSEIMessageReceived]: (event: onSEIMessageEvent) => void;
2329
2373
 
2330
2374
  /**
2331
2375
  * @brief Result of the Auto-Subscription
2332
2376
  * @param event
2333
- * @region Room Management Event
2377
+ * @group Audio & Video Transport
2378
+ * @order 75
2334
2379
  */
2335
2380
  [EngineEventsTypes.onAutoSubscribeResult]: (event: {
2336
2381
 
@@ -2353,7 +2398,8 @@ export interface IEngineEvents {
2353
2398
  /**
2354
2399
  * @brief Result of Auto-publishing. You will receive this event if you enable Auto-publish when calling `joinRoom`
2355
2400
  * @param event
2356
- * @region Room Management Event
2401
+ * @group Audio & Video Transport
2402
+ * @order 76
2357
2403
  */
2358
2404
  [EngineEventsTypes.onAutoPublishResult]: (event: {
2359
2405
 
@@ -2372,6 +2418,8 @@ export interface IEngineEvents {
2372
2418
  * @brief Auto-play fails.
2373
2419
  * @param event Event related to the player
2374
2420
  * @region Room Management Event
2421
+ * @group Video Management
2422
+ * @order 70
2375
2423
  */
2376
2424
  [EngineEventsTypes.onAutoplayFailed]: (event: AutoPlayFailedEvent) => void;
2377
2425
 
@@ -2380,14 +2428,14 @@ export interface IEngineEvents {
2380
2428
  * @deprecated since 4.44, use onStreamMixingEvent instead.
2381
2429
  * @brief Result of the Pushing stream to CDN
2382
2430
  * @param event
2383
- * @region Advanced Feature Event
2384
2431
  */
2385
2432
  [EngineEventsTypes.onLiveTranscodingResult]: (event: LiveTranscodingResultEvent) => void;
2386
2433
 
2387
2434
  /**
2388
2435
  * @brief event of error
2389
2436
  * @param event
2390
- * @region Room Management Event
2437
+ * @group Room Management
2438
+ * @order 40
2391
2439
  */
2392
2440
  [EngineEventsTypes.onError]: (event: {
2393
2441
 
@@ -2400,27 +2448,32 @@ export interface IEngineEvents {
2400
2448
  /**
2401
2449
  * @brief Event of the state change of audio mixing
2402
2450
  * @param event
2403
- * @region Advanced Feature
2451
+ * @group Audio Mixing
2452
+ * @order 40
2404
2453
  */
2405
2454
  [EngineEventsTypes.onAudioMixingStateChanged]: (event: AudioMixingStateChangedEvent) => void;
2406
2455
 
2407
2456
  /**
2408
2457
  * @brief Event of receiving a text message
2409
2458
  * @param event
2410
- * @region Message Event
2459
+ * @group Message
2460
+ * @order 65
2411
2461
  */
2412
2462
  [EngineEventsTypes.onUserMessageReceivedOutsideRoom]: (event: UserMessageEvent) => void;
2413
2463
 
2414
2464
  /**
2415
2465
  * @brief Event of receiving a binary message
2416
2466
  * @param event
2417
- * @region Message Event
2467
+ * @group Message
2468
+ * @order 66
2418
2469
  */
2419
2470
  [EngineEventsTypes.onUserBinaryMessageReceivedOutsideRoom]: (event: UserBinaryMessageEvent) => void;
2420
2471
 
2421
2472
  /**
2422
2473
  * @brief You will receive this callback 30 s before the Token expires.
2423
2474
  * Call [updateToken](104478#updatetoken) to submit a new Token。The user will be removed from the room when the Token expires.
2475
+ * @group Room Management
2476
+ * @order 45
2424
2477
  */
2425
2478
  [EngineEventsTypes.onTokenWillExpire]: () => void;
2426
2479
 
@@ -2435,6 +2488,8 @@ export interface IEngineEvents {
2435
2488
  * @brief Callback of the result of publishing the public stream.
2436
2489
  * After calling [startPushPublicStream](104478#startpushpublicstream), you will be informed of the result through this callback.
2437
2490
  * @param event
2491
+ * @group Public Stream
2492
+ * @order 25
2438
2493
  */
2439
2494
  [EngineEventsTypes.onPushPublicStreamResult]: (event: PublicStreamResultEvent) => void;
2440
2495
 
@@ -2446,6 +2501,8 @@ export interface IEngineEvents {
2446
2501
  * @notes When multiple streams in the public stream contain SEI:
2447
2502
  * + You will receive SEI from all the video frames if the SEI do not have conflicts.
2448
2503
  * + However, if SEI from video frames have conflicts, you will receive only one of them.
2504
+ * @group Public Stream
2505
+ * @order 30
2449
2506
  */
2450
2507
  [EngineEventsTypes.onPublicStreamSEIMessageReceived]: (event: PublicStreamSEIMessageEvent) => void;
2451
2508
 
@@ -2454,6 +2511,8 @@ export interface IEngineEvents {
2454
2511
  * @brief Callback of the successful decoding of the first video frame of the public stream.
2455
2512
  * Refer to [startPlayPublicStream](104478#startplaypublicstream) for details about subscribing to a public stream.
2456
2513
  * @param event
2514
+ * @group Public Stream
2515
+ * @order 36
2457
2516
  */
2458
2517
  [EngineEventsTypes.onFirstPublicStreamVideoFrameDecoded]: (event: PublicStreamVideoFirstFrameDecodedEvent) => void;
2459
2518
 
@@ -2462,6 +2521,8 @@ export interface IEngineEvents {
2462
2521
  * @brief Callback of the successful decoding of the first audio frame of the public stream.
2463
2522
  * Refer to [startPlayPublicStream](104478#startplaypublicstream) for details about subscribing to a public stream.
2464
2523
  * @param event
2524
+ * @group Public Stream
2525
+ * @order 35
2465
2526
  */
2466
2527
  [EngineEventsTypes.onFirstPublicStreamAudioFrameDecoded]: (event: PublicStreamAudioFirstFrameDecodedEvent) => void;
2467
2528
 
@@ -2470,6 +2531,8 @@ export interface IEngineEvents {
2470
2531
  * @brief Callback of the successful rendering of the first video frame of the public stream.
2471
2532
  * Refer to [startPlayPublicStream](104478#startplaypublicstream) for details about subscribing to a public stream.
2472
2533
  * @param event
2534
+ * @group Public Stream
2535
+ * @order 37
2473
2536
  */
2474
2537
  [EngineEventsTypes.onFirstPublicStreamVideoFrameRendered]: (event: PublicStreamAudioFirstFrameDecodedEvent) => void;
2475
2538
 
@@ -2477,6 +2540,8 @@ export interface IEngineEvents {
2477
2540
  * @brief Notification on the playing volume during the test for the local audio devices
2478
2541
  * @param volume playing volume during the test for the local audio devices in milliseconds. We recommend to set it to 200 ms.The range is [0,255].
2479
2542
  * @notes Start an audio-device test by calling [startAudioPlaybackDeviceTest](104478#startaudioplaybackdevicetest) or [startAudioDeviceRecordTest](104478#startaudiodevicerecordtest) will register this callback for regular notification on playing volume. You can set the time interval between each callback by passing a proper value when calling the API above.
2543
+ * @group Device Management
2544
+ * @order 40
2480
2545
  */
2481
2546
  [EngineEventsTypes.onAudioPlaybackDeviceTestVolume]: (volume: number) => void;
2482
2547
 
@@ -2484,17 +2549,23 @@ export interface IEngineEvents {
2484
2549
  * @brief The callback reports the upstream and downstream network quality of the local user every 2s after the user enters the room.
2485
2550
  * @param uplinkNetworkQuality Upstream network quality.
2486
2551
  * @param downlinkNetworkQuality Downstream network quality.
2552
+ * @group Audio & Video Transport
2553
+ * @order 80
2487
2554
  */
2488
2555
  [EngineEventsTypes.onNetworkQuality]: (uplinkNetworkQuality: NetworkQuality, downlinkNetworkQuality: NetworkQuality) => void;
2489
2556
 
2490
2557
  /**
2491
2558
  * @brief Receives this callback when fallback happens or the stream recovers from fallback.
2492
2559
  * @param event Information about stream switching
2560
+ * @group Audio & Video Transport
2561
+ * @order 85
2493
2562
  */
2494
2563
  [EngineEventsTypes.onSimulcastSubscribeFallback]: (event: RemoteStreamSwitch) => void;
2495
2564
 
2496
2565
  /**
2497
2566
  * @brief When the resolution of remote video changes, users who subscribed to the stream will receive this callback.
2567
+ * @group Audio & Video Transport
2568
+ * @order 90
2498
2569
  */
2499
2570
  [EngineEventsTypes.onRemoteVideoSizeChanged]: (
2500
2571
 
@@ -2522,7 +2593,8 @@ export interface IEngineEvents {
2522
2593
  /**
2523
2594
  * @brief Pushing a mixed stream to CDN events
2524
2595
  * @param event
2525
- * @region Push to CDN
2596
+ * @group Push to CDN
2597
+ * @order 15
2526
2598
  */
2527
2599
  [EngineEventsTypes.onStreamMixingEvent]: (event: StreamMixingEvent) => void;
2528
2600
 
@@ -2534,6 +2606,8 @@ export interface IEngineEvents {
2534
2606
  * + If a user is banned, other users receive this callback again when they leave and re-enter the room.
2535
2607
  * + Only banned/unbanned user will receive this callback if the conference mode is enabled in the console.
2536
2608
  * + If the room is dissolved and created again, the status in the room is cleared.
2609
+ * @group Audio & Video Transport
2610
+ * @order 95
2537
2611
  */
2538
2612
  [EngineEventsTypes.onVideoStreamBanned]: (event: VideoStreamBannedEvent) => void;
2539
2613
 
@@ -2545,11 +2619,15 @@ export interface IEngineEvents {
2545
2619
  * + If a user is banned, other users receive this callback again when they leave and re-enter the room.
2546
2620
  * + Only banned/unbanned user will receive this callback if the conference mode is enabled in the console.
2547
2621
  * + If the room is dissolved and created again, the status in the room is cleared.
2622
+ * @group Audio & Video Transport
2623
+ * @order 96
2548
2624
  */
2549
2625
  [EngineEventsTypes.onAudioStreamBanned]: (event: AudioStreamBannedEvent) => void;
2550
2626
 
2551
2627
  /**
2552
2628
  * @brief The callback of the actual video capturing configuration.
2629
+ * @group Video Management
2630
+ * @order 60
2553
2631
  */
2554
2632
  [EngineEventsTypes.onLocalVideoSizeChanged]: (e: {
2555
2633
 
@@ -2577,17 +2655,21 @@ export interface IEngineEvents {
2577
2655
 
2578
2656
  /**
2579
2657
  * @hidden currently not available
2580
- * @brief Callback on subtitle states.
2581
- * After you call [startSubtitle](104478#startsubtitle) and [stopSubtitle](104478#stopsubtitle), you will receive this callback which informs you of the states and error codes of the subtitling task, as well as detailed information on the third party services' errors.
2582
- * @param event
2658
+ * @brief Callback on subtitle states.
2659
+ * After you call [startSubtitle](104478#startsubtitle) and [stopSubtitle](104478#stopsubtitle), you will receive this callback which informs you of the states and error codes of the subtitling task, as well as detailed information on the third party services' errors.
2660
+ * @param e Subtitle status.
2661
+ * @group Live Caption and Translation
2662
+ * @order 10
2583
2663
  */
2584
2664
  [EngineEventsTypes.onSubtitleStateChanged]: (e: SubtitleEvent) => void;
2585
2665
 
2586
2666
  /**
2587
2667
  * @hidden currently not available
2588
- * @brief Callback on subtitle messages.
2589
- * After calling [startSubtitle](104478#startsubtitle) successfully, you will receive this callback which informs you of the related information on subtitles.
2590
- * @param event
2668
+ * @brief Callback on subtitle messages.
2669
+ * After calling [startSubtitle](104478#startsubtitle) successfully, you will receive this callback which informs you of the related information on subtitles.
2670
+ * @param e Subtitle message.
2671
+ * @group Live Caption and Translation
2672
+ * @order 11
2591
2673
  */
2592
2674
  [EngineEventsTypes.onSubtitleMessageReceived]: (e: SubtitleMessage[]) => void;
2593
2675
 
@@ -2595,7 +2677,9 @@ export interface IEngineEvents {
2595
2677
  * @brief Event of whether the setting for the message server successes
2596
2678
  * @param error Error code
2597
2679
  * @notes + This event notifies you the result after the call of [setServerParams](104478#setserverparams).
2598
- * + If the client losts connection after the call of [setServerParams](104478#setserverparams) this event notifies once the client reconnects.
2680
+ * + If you lose internet connection after calling [setServerParams](104478#setserverparams), you will receive this event once the internet reconnects.
2681
+ * @group Message
2682
+ * @order 70
2599
2683
  */
2600
2684
  [EngineEventsTypes.onServerParamsSetResult]: (error?: ErrorCode) => void;
2601
2685
 
@@ -2610,6 +2694,8 @@ export interface IEngineEvents {
2610
2694
  /**
2611
2695
  * @brief Event of failing to forward stream across rooms.
2612
2696
  * @param e Status information for forwarding media stream across rooms.
2697
+ * @group Audio & Video Transport
2698
+ * @order 100
2613
2699
  */
2614
2700
  [EngineEventsTypes.onForwardStreamError]: (e: ForwardStreamStateInfo) => void;
2615
2701
 
@@ -2645,7 +2731,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2645
2731
  * @notes + In the same room with the same App ID, the user ID of each user must be unique. The user will be kicked out of the room when a user with the same userID joins the room because of the error of `DUPLICATE_LOGIN`.
2646
2732
  * + Remote users will receive [onUserJoined](104479#onuserjoined) callback when a visible user joins the room. Call [setUserVisibility](#setuservisibility) to switch the visibility of the user.
2647
2733
  * + RTC SDK will try reconnect after losing connection to the server caused by a poor network connection. At this point, [onConnectionStateChanged](104479#onconnectionstatechanged) callback will be triggered and the SDK will automatically retry until it successfully reconnects to the server. The remote user will receive [onUserJoined](104479#onuserjoined) if a visible user reconnected successfully.
2648
- * @region Room Management
2734
+ * @group Room Management
2735
+ * @order 0
2649
2736
  */
2650
2737
  joinRoom: (token: string | null, roomId: string, userInfo: UserInfo, roomConfig?: RoomConfig) => Promise<void>;
2651
2738
 
@@ -2654,7 +2741,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2654
2741
  * The user calls this API to leave the room, end the call process, and release all call-related resources.
2655
2742
  * @notes + After visible users leave the room, other users in the room will receive [onUserLeave](104479#onuserleave) callback notification.
2656
2743
  * + You must call this API to end the call, after calling the [joinRoom](#joinroom) method to join the room. Otherwise you cannot start the next call. Repeatedly call this method have no negative impact.
2657
- * @region Room Management
2744
+ * @group Room Management
2745
+ * @order 1
2658
2746
  */
2659
2747
  leaveRoom: (waitAck?: boolean) => Promise<void>;
2660
2748
 
@@ -2665,7 +2753,6 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2665
2753
  * @notes + Make sure that the business scenarios related to the `RTCEngine` instances that need to be destroyed are all finished before calling this API.
2666
2754
  * + Calling this API will destroy all memory related to this `RTCEngine` instance, and stop any interaction with the media server.
2667
2755
  * + This API is a blocking call which will block the current thread until the SDK completes the exit logic. Therefore, do NOT to call this API directly in the callback thread. Besides do NOT wait for the execution of the main thread including this API in any callback, thus causing a deadlock.
2668
- * @region Engine Management
2669
2756
  */
2670
2757
  destroy: () => void;
2671
2758
 
@@ -2676,7 +2763,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2676
2763
  * + Call [publishScreen](#publishscreen) to start screen sharing.
2677
2764
  * + After you call this API, the other users in the room will receive [onUserPublishStream](104479#onuserpublishstream).
2678
2765
  * + Call [unpublishStream](#unpublishstream) to stop publishing streams.
2679
- * @region Room Management
2766
+ * @group Audio & Video Transport
2767
+ * @order 0
2680
2768
  */
2681
2769
  publishStream: (mediaType: MediaType) => Promise<void>;
2682
2770
 
@@ -2685,7 +2773,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2685
2773
  * @param mediaType Media stream type, used for specifying whether to stop publishing audio stream or video stream.
2686
2774
  * @notes + After calling [publishStream](#publishstream), call this API to stop publishing streams.
2687
2775
  * + After calling this API, the other users in the room will receive [onUserUnpublishStream](104479#onuserunpublishstream).
2688
- * @region Room Management
2776
+ * @group Audio & Video Transport
2777
+ * @order 1
2689
2778
  */
2690
2779
  unpublishStream: (mediaType: MediaType) => Promise<void>;
2691
2780
 
@@ -2695,7 +2784,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2695
2784
  * @notes + An invisible user cannot publish media streams. Call [setUserVisibility](#setuservisibility) to change your visibility in the room.
2696
2785
  * + After you called this API, the other users in the room will receive [onUserPublishScreen](104479#onuserpublishscreen).
2697
2786
  * + Call [unpublishScreen](#unpublishscreen) to stop publishing screen sharing streams.
2698
- * @region Screen Sharing
2787
+ * @group Screen Sharing
2788
+ * @order 10
2699
2789
  */
2700
2790
  publishScreen: (mediaType: MediaType) => Promise<void>;
2701
2791
 
@@ -2704,7 +2794,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2704
2794
  * @param mediaType Media stream type, used for specifying whether to stop publishing audio stream or video stream.
2705
2795
  * @notes + After calling [publishScreen](#publishscreen), call this API to stop publishing streams.
2706
2796
  * + After calling this API, the other users in the room will receive [onUserUnpublishScreen](104479#onuserunpublishscreen).
2707
- * @region Screen Sharing
2797
+ * @group Screen Sharing
2798
+ * @order 11
2708
2799
  */
2709
2800
  unpublishScreen: (mediaType: MediaType) => Promise<void>;
2710
2801
 
@@ -2715,7 +2806,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2715
2806
  * @param mediaType Media stream type, used for specifying whether to subscribe to the audio stream or the video stream.
2716
2807
  * @notes You must first get the remote stream
2717
2808
  * information through [onUserPublishStream](104479#onuserpublishstream) before calling this API to subscribe to streams accordingly.
2718
- * @region Room Management
2809
+ * @group Audio & Video Transport
2810
+ * @order 5
2719
2811
  */
2720
2812
  subscribeStream: (userId: string, mediaType: MediaType) => Promise<void>;
2721
2813
 
@@ -2724,7 +2816,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2724
2816
  * You can call this API in both automatic subscription mode and manual subscription mode.
2725
2817
  * @param userId The ID of the remote user who published the target audio/video stream.
2726
2818
  * @param mediaType Media stream type, used for specifying whether to unsubscribe from the audio stream or the video stream.
2727
- * @region Room Management
2819
+ * @group Audio & Video Transport
2820
+ * @order 6
2728
2821
  */
2729
2822
  unsubscribeStream: (userId: string, mediaType: MediaType) => Promise<void>;
2730
2823
 
@@ -2734,7 +2827,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2734
2827
  * @param userId The ID of the remote user who published the target screen audio/video stream.
2735
2828
  * @param mediaType Media stream type, used for specifying whether to subscribe to the audio stream or the video stream.
2736
2829
  * @notes You must first get the remote stream information through [onUserPublishScreen](104479#onuserpublishscreen) before calling this API to subscribe to streams accordingly.
2737
- * @region Room Management
2830
+ * @group Screen Sharing
2831
+ * @order 15
2738
2832
  */
2739
2833
  subscribeScreen: (userId: string, mediaType: MediaType) => Promise<void>;
2740
2834
 
@@ -2743,7 +2837,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2743
2837
  * You can call this API in both automatic subscription mode and manual subscription mode.
2744
2838
  * @param uid The ID of the remote user who published the target screen audio/video stream.
2745
2839
  * @param type Media stream type, used for specifying whether to unsubscribe from the audio stream or the video stream.
2746
- * @region Room Management
2840
+ * @group Screen Sharing
2841
+ * @order 16
2747
2842
  */
2748
2843
  unsubscribeScreen: (userId: string, mediaType: MediaType) => Promise<void>;
2749
2844
 
@@ -2754,7 +2849,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2754
2849
  * @notes + If you call [joinRoom](#joinroom) with an expired token, the joining will fail with an error code `INVALID_TOKEN`. And you need to obtain a valid token and call this API to update the token.
2755
2850
  * + If joining a room failed because the token expired, call this API with an updated token. And then RTC SDK will automatically rejoin the room without calling [joinRoom](#joinroom) again.
2756
2851
  * + The user will be removed from the room when the Token expires.
2757
- * @region Room Management
2852
+ * @group Room Management
2853
+ * @order 5
2758
2854
  */
2759
2855
  updateToken: (token: string) => void;
2760
2856
 
@@ -2763,6 +2859,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2763
2859
  * @param deviceId Device ID. Call [enumerateDevices](#enumeratedevices) to get the device list.
2764
2860
  * @return
2765
2861
  * @notes If the internal audio capturing is on, the switch is effective once you call this API. If the internal audio capturing is off, the setting will be effective when capture starts.
2862
+ * @group Audio Management
2863
+ * @order 0
2766
2864
  */
2767
2865
  setAudioCaptureDevice: (deviceId: string) => Promise<void>;
2768
2866
 
@@ -2773,6 +2871,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2773
2871
  * @notes + If the internal video capturing is on, the switch is effective once you call this API. If the internal video capturing is off, the setting will be effective when capture starts.
2774
2872
  * + For mobile devices, set deviceId as `"user"` to use the front camera. Set deviceId as `"environment"` to use the rear camera.
2775
2873
  * + The default camera is set by the browser.
2874
+ * @group Video Management
2875
+ * @order 0
2776
2876
  */
2777
2877
  setVideoCaptureDevice: (deviceId: string) => Promise<void>;
2778
2878
 
@@ -2781,35 +2881,39 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2781
2881
  * Internal video capture refers to: capturing video using the built-in module.
2782
2882
  * The remote clients in the room will be informed of the state change via [onUserStartVideoCapture](104479#onuserstartvideocapture) after the publisher starts video capture by calling this API.
2783
2883
  * @param deviceId ID of the capture device which you need to pass in to avoid exceptions such as no screen or a screen that is not the desired one. You can call [enumerateDevices](#enumeratedevices) to obtain the list of devices.
2784
- * @return The actual effective video capture parameters. See [MediaTrackSettings](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints). Pay attention to the properties: `frameRate`, `height`, and `width`.
2884
+ * @return The actual effective video capture parameters. See [MediaTrackSettings](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings). Pay attention to the properties: `frameRate`, `height`, and `width`.
2785
2885
  * @notes + Call [stopVideoCapture](#stopvideocapture) to stop the internal video capture. Otherwise, the internal video capture will sustain until you destroy the engine instance.
2786
2886
  * + Once you create the engine instance, you can start internal video capture regardless of the video publishing state. The video stream will start publishing only after the video capture starts.
2787
2887
  * + Call [setVideoCaptureDevice](#setvideocapturedevice) to switch the camera used by the internal video capture module.
2888
+ * @group Video Management
2889
+ * @order 5
2788
2890
  */
2789
2891
  startVideoCapture: (deviceId?: string) => Promise<MediaTrackSettings>;
2790
2892
 
2791
2893
  /**
2792
2894
  * @brief Enable internal video capture immediately. The default setting is off.
2793
- * Internal video capture refers to: capturing video using the built-in module.
2794
- * The remote clients in the room will be informed of the state change via [onUserStopVideoCapture](104479#onuserstopvideocapture) after the publisher stops video capture by calling this API.
2895
+ * Internal video capture refers to: capturing video using the built-in module.
2896
+ * The remote clients in the room will be informed of the state change via [onUserStopVideoCapture](104479#onuserstopvideocapture) after the publisher stops video capture by calling this API.
2795
2897
  * @return
2796
2898
  * @notes + Call [startVideoCapture](#startvideocapture) to enable the internal video capture.
2797
- * + Without calling this API the internal video capture will sustain until you destroy the engine instance.
2798
- * @region Video Management
2899
+ * + Without calling this API the internal video capture will sustain until you destroy the engine instance.
2900
+ * @group Video Management
2901
+ * @order 6
2799
2902
  */
2800
2903
  stopVideoCapture: () => Promise<void>;
2801
2904
 
2802
2905
  /**
2803
2906
  * @brief Start internal audio capture. The default is off.
2804
- * Internal audio capture refers to: capturing audio using the built-in module.
2805
- * The remote clients in the room will be informed of the state change via [onUserStartAudioCapture](104479#onuserstartaudiocapture) after the publisher starts audio capture by calling this API.
2907
+ * Internal audio capture refers to: capturing audio using the built-in module.
2908
+ * The remote clients in the room will be informed of the state change via [onUserStartAudioCapture](104479#onuserstartaudiocapture) after the publisher starts audio capture by calling this API.
2806
2909
  * @param deviceId ID of the capture device which you need to pass in to avoid exceptions such as no sound. You can call [enumerateDevices](#enumeratedevices) to obtain the list of devices.
2807
- * @return
2910
+ * @return The actual effective audio capture parameters. See [MediaTrackSettings](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings).
2808
2911
  * @notes + Call [stopAudioCapture](#stopaudiocapture) to stop the internal audio capture. Otherwise, the internal audio capture will sustain until you destroy the engine instance.
2809
- * + Once you create the engine instance, you can start internal audio capture regardless of the audio publishing state. The audio stream will start publishing only after the audio capture starts.
2810
- * @region Audio Management
2912
+ * + Once you create the engine instance, you can start internal audio capture regardless of the audio publishing state. The audio stream will start publishing only after the audio capture starts.
2913
+ * @group Audio Management
2914
+ * @order 5
2811
2915
  */
2812
- startAudioCapture: (deviceId?: string) => Promise<void>;
2916
+ startAudioCapture: (deviceId?: string) => Promise<MediaTrackSettings>;
2813
2917
 
2814
2918
  /**
2815
2919
  * @brief Stop internal audio capture. The default is off.
@@ -2818,7 +2922,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2818
2922
  * @return
2819
2923
  * @notes + Call [startAudioCapture](#startaudiocapture) to enable the internal audio capture.
2820
2924
  * + Without calling this API the internal audio capture will sustain until you destroy the engine instance.
2821
- * @region Audio Management
2925
+ * @group Audio Management
2926
+ * @order 6
2822
2927
  */
2823
2928
  stopAudioCapture: () => Promise<void>;
2824
2929
 
@@ -2828,15 +2933,17 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2828
2933
  * @return
2829
2934
  * @notes + Call this API will start screen stream video capture but will not publish the captured video. Publishing a screen-sharing stream by calling [publishScreen](#publishscreen).
2830
2935
  * + To turn off screen video source capture, call [stopScreenCapture](#stopscreencapture).
2831
- * + Before calling this API, you can call [setVideoEncoderConfig](#setvideoencoderconfig) to set the capture frame rate and encoding resolution of the screen video stream.
2832
- * @region Advanced Feature
2936
+ * + Before calling this API, you can call [setScreenEncoderConfig](#setscreenencoderconfig) to set the capture frame rate and encoding resolution of the screen video stream.
2937
+ * @group Screen Sharing
2938
+ * @order 0
2833
2939
  */
2834
2940
  startScreenCapture: (screenConfig?: ScreenConfig) => Promise<void>;
2835
2941
 
2836
2942
  /**
2837
2943
  * @brief Stop screen sharing.
2838
2944
  * @return
2839
- * @region Advanced Feature
2945
+ * @group Screen Sharing
2946
+ * @order 1
2840
2947
  */
2841
2948
  stopScreenCapture: () => Promise<void>;
2842
2949
 
@@ -2847,7 +2954,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2847
2954
  * @param streamIndex Video stream properties
2848
2955
  * @param videoPlayerOption View information and rendering mode
2849
2956
  * @notes You should bind the view after the user joins a room. This setting will sustain when the user leaves the room.
2850
- * @region Video Management
2957
+ * @group Video Management
2958
+ * @order 20
2851
2959
  */
2852
2960
  setLocalVideoPlayer: (streamIndex: StreamIndex, videoPlayerOption?: Partial<VideoPlayerOption>) => HTMLVideoElement | undefined;
2853
2961
 
@@ -2858,14 +2966,16 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2858
2966
  * @param streamIndex Video stream properties
2859
2967
  * @param videoPlayer View information and rendering mode
2860
2968
  * @notes You should bind the view after the user joins a room. This setting will sustain when the user leaves the room.
2861
- * @region Video Management
2969
+ * @group Video Management
2970
+ * @order 21
2862
2971
  */
2863
2972
  setRemoteVideoPlayer: (streamIndex: StreamIndex, videoPlayerOption: VideoPlayerOption) => HTMLVideoElement | undefined;
2864
2973
 
2865
2974
  /**
2866
2975
  * @brief Enable or disable the mirror mode for the local video stream.
2867
2976
  * @param mirrorType Whether to turn on mirror mode.
2868
- * @region Media Processing
2977
+ * @group Video Management
2978
+ * @order 30
2869
2979
  */
2870
2980
  setLocalVideoMirrorType: (mirrorType: MirrorType) => void;
2871
2981
 
@@ -2874,7 +2984,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2874
2984
  * @param deviceId ID of the audio playback device. Call [enumerateDevices](#enumeratedevices) to get device ID.
2875
2985
  * @return
2876
2986
  * @notes You can call this API before or after the user joins a room.
2877
- * @region Audio Management
2987
+ * @group Audio Management
2988
+ * @order 1
2878
2989
  */
2879
2990
  setAudioPlaybackDevice: (deviceId: string) => Promise<void>;
2880
2991
 
@@ -2886,9 +2997,10 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2886
2997
  * @param mediaType Media stream type, used for specifying whether to publish audio stream or video stream.
2887
2998
  * @param streamIndex Video stream properties
2888
2999
  * @return Calling this API when the audio and video are playing will also return a Promise.
2889
- * @region Room Management
2890
3000
  * @note + Call this API to start playback if the audio and/or video is not playing.
2891
3001
  * + Call this API once to start both audio and video playbacks when they do not start.
3002
+ * @group Video Management
3003
+ * @order 25
2892
3004
  */
2893
3005
  play: (userId?: string, mediaType?: MediaType, streamIndex?: StreamIndex) => Promise<void>;
2894
3006
 
@@ -2899,7 +3011,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2899
3011
  * @notes + Calling this API does not change the capture state and the transmission state of the remote clients.
2900
3012
  * + Calling this API does not cancel the subscription or change any subscription configuration.
2901
3013
  * + To resume, call [resumeAllSubscribedStream](#resumeallsubscribedstream).
2902
- * @region Media Stream Transmission
3014
+ * @group Audio & Video Transport
3015
+ * @order 15
2903
3016
  */
2904
3017
  pauseAllSubscribedStream: (mediaType: MediaType) => Promise<void>;
2905
3018
 
@@ -2909,18 +3022,20 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2909
3022
  * @return
2910
3023
  * @notes + Calling this API does not change the capture state and the transmission state of the remote clients.
2911
3024
  * + Calling this API does not change any subscription configuration.
2912
- * @region Media Transmission
3025
+ * @group Audio & Video Transport
3026
+ * @order 16
2913
3027
  */
2914
3028
  resumeAllSubscribedStream: (mediaType: MediaType) => Promise<void>;
2915
3029
 
2916
3030
  /**
2917
3031
  * @brief Send point-to-point text messages to a specified user in the room.
2918
- * The recipient receives the message via [onUserMessageReceived](104479#onusermessagereceived) once the message is sent successfully.
3032
+ * The recipient receives the message via [onUserMessageReceived](104479#onusermessagereceived) once the message is sent successfully.
2919
3033
  * @param userId User ID of the recipient
2920
3034
  * @param message Text to be sent within 64 KB
2921
3035
  * @return
2922
3036
  * @notes Call [joinRoom](#joinroom) to join the room before calling this API.
2923
- * @region Message
3037
+ * @group Message
3038
+ * @order 0
2924
3039
  */
2925
3040
  sendUserMessage: (userId: string, message: string) => Promise<unknown> | undefined;
2926
3041
 
@@ -2931,25 +3046,28 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2931
3046
  * @param message Binary to be sent within 64 KB
2932
3047
  * @return
2933
3048
  * @notes Call [joinRoom](#joinroom) to join the room before calling this API.
2934
- * @region Message
3049
+ * @group Message
3050
+ * @order 1
2935
3051
  */
2936
3052
  sendUserBinaryMessage: (userId: string, message: ArrayBuffer) => Promise<unknown>;
2937
3053
 
2938
3054
  /**
2939
3055
  * @brief Send text messaging to all other users in the room.
2940
- * Users in the room will receive message via [onRoomMessageReceived](104479#onroommessagereceived) once the message is sent successfully.
3056
+ * Users in the room will receive message via [onRoomMessageReceived](104479#onroommessagereceived) once the message is sent successfully.
2941
3057
  * @param message Text to be sent within 64 KB
2942
3058
  * @return
2943
- * @region Message
3059
+ * @group Message
3060
+ * @order 5
2944
3061
  */
2945
3062
  sendRoomMessage: (message: string) => Promise<any> | undefined;
2946
3063
 
2947
3064
  /**
2948
3065
  * @brief Send binary messaging to all other users in the room.
2949
- * Users in the room will receive binary message via [onRoomBinaryMessageReceived](104479#onroombinarymessagereceived) once the message is sent successfully.
3066
+ * Users in the room will receive binary message via [onRoomBinaryMessageReceived](104479#onroombinarymessagereceived) once the message is sent successfully.
2950
3067
  * @param message Binary message to be sent within 64 KB
2951
3068
  * @return
2952
- * @region Message
3069
+ * @group Message
3070
+ * @order 6
2953
3071
  */
2954
3072
  sendRoomBinaryMessage: (message: ArrayBuffer) => Promise<any> | undefined;
2955
3073
 
@@ -2962,24 +3080,26 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2962
3080
  * @notes + Call this API to add SEI message to the video frame captured by the internal video capture module.
2963
3081
  * + SDK will abandon the SEI message if no video frame in 2s after you call this API.
2964
3082
  * + Users receiving the stream will receive the SEI message via [onSEIMessageReceived](104479#onseimessagereceived) once the SEI message is sent successfully.
2965
- * @region Message
3083
+ * @group Message
3084
+ * @order 10
2966
3085
  */
2967
3086
  sendSEIMessage: (streamIndex: StreamIndex, message: Uint8Array | string, repeatCount: number) => void;
2968
3087
 
2969
3088
  /**
2970
- * @brief Sets the video encoder configuration of the publishing streams.
2971
- * @param descriptions List of configurations for multiple streams. You should note that the resolution you set is the maximum resolution of each stream.
2972
- * You can set parameters for up to 3 streams, SDK will always take the value of the first 3 streams when parameters for more streams are set.
2973
- * The resolutions and the frame rates must be in descending order.
2974
- * When the resolution of the max stream is in [540P, 1080P], you can simulcast 3 streams; when in [270P, 450P], you can simulcast 2 streams; when in [0, 180P], you can not enable simulcast.
2975
- * @notes + The default parameters are 640 × 480 px, 15 FPS, with 600 Kbps max bitrate.
2976
- * + You can call this API before and after publishing video streams. After the video stream is published, you cannot switch from single stream to multi-stream, or modify the number of published multi-stream layers.
2977
- * + When using mobile devices to publish video streams in the vertical holding state, the set resolution width and height should be the opposite of the actual sending parameters. For example, when setting the send resolution to 640 × 480 px, the actual send resolution is 480 × 640 px.
2978
- * + When simulcasting, it is recommended to cancel automatic publishing and publish audio/video streams manually by calling [publishStream](#publishstream), otherwise simulcast will not take effect.
2979
- * + If the set parameters are not supported by the browser, RTC SDK will capture and encode according to the range of parameters supported by the browser, and report the actual parameters of the capture by [onLocalVideoSizeChanged](104479#onlocalvideosizechanged).
2980
- * + You need to call [enableSimulcastMode](#enablesimulcastmode) to start simulcasting. If you set the parameters for multiple streams without calling [enableSimulcastMode](#enablesimulcastmode), only the stream with the largest resolution will be published, and the setting will take effect after simulcasting is enabled. If simulcasting is enabled, but only one stream's parameters are set, RTC SDK will automatically fill 1~2 groups of smaller stream parameters.
2981
- * + This API is applicable to the video stream captured by the camera, see [setScreenEncoderConfig](#setscreenencoderconfig) for setting parameters for screen sharing video stream.
2982
- * + If simulcasting is started, for better compatibility, it is recommended to set the ratio of the maximum level resolution to other level resolutions as an integer multiple.
3089
+ * @brief Set the video stream configurations from the video publishing end.
3090
+ * @param descriptions The configurations of multiple video streams to be published. The resolution set is the maximum resolution for each stream.
3091
+ * Up to 3 sets of configurations can be set. When there are more than 3 sets, the values of the first 3 sets will be used.
3092
+ * When multiple configurations are set, the resolution and frame rate must be arranged in descending order. For better compatibility, it is recommended that the ratio between the maximum level resolution and other level resolutions be an integer multiple.
3093
+ * When the resolution of the first stream is greater than or equal to 540P, it supports publishing 3 streams; when it is between 270P (inclusive) and 450P (inclusive), it supports publishing 2 streams; when it is 180P or below, you cannot enable simulcasting.
3094
+ * @notes + Before calling this method, the SDK defaults to publishing a stream with a resolution of 640 × 480 pixels, a frame rate of 15 FPS, and a maximum encoding bitrate of 600 Kbps.
3095
+ * + When publishing a single stream, you can call this method before or after publishing the video stream. After the video stream is published, dynamic switching between single stream and multiple streams is not supported, and modifying the parameters of the published multiple streams is not supported.
3096
+ * + When using a mobile device to publish a video stream in portrait mode, the set resolution width and height are reversed in the actual streaming parameters. For example, when setting the sending resolution to 640 × 480 pixels, the actual streaming parameters are 480 × 640 pixels.
3097
+ * + If the set parameters are not supported by the browser, the RTC SDK will capture and encode based on the parameter range supported by the browser, and notify the actual parameters through the [onLocalVideoSizeChanged](104479#onlocalvideosizechanged) callback.
3098
+ * + If you want to simulcast, you need to disable automatic publishing, call this method and [enableSimulcastMode](#enablesimulcastmode) to enable multiple stream mode, and then call [publishStream](#publishstream) to manually publish the audio and video streams.
3099
+ * + If this method is called to set multiple resolutions but multiple stream mode is not enabled, the SDK will default to publishing the stream with the highest resolution. If multiple stream publishing is enabled but only one set of stream parameters is set, the SDK will automatically fill in 1-2 sets of small stream parameters.
3100
+ * + This method is applicable to video streams captured by the camera. For setting the screen sharing stream parameters, refer to [setScreenEncoderConfig](#setscreenencoderconfig).
3101
+ * @group Video Management
3102
+ * @order 35
2983
3103
  */
2984
3104
  setVideoEncoderConfig: (descriptions: VideoEncoderConfig | VideoEncoderConfig[]) => Promise<void>;
2985
3105
 
@@ -2989,6 +3109,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2989
3109
  * @param description The encoding configuration of the screen-sharing stream.
2990
3110
  * @notes + The default parameters are 1920 × 1080 px, 15 FPS, with 3000 Kbps max bitrate.
2991
3111
  * + We recommend that you set the encoding configuration before video capture. Otherwise, the video will be captured based on the default configuration.
3112
+ * @group Screen Sharing
3113
+ * @order 5
2992
3114
  */
2993
3115
  setScreenEncoderConfig: (description: ScreenEncoderConfig) => Promise<void>;
2994
3116
 
@@ -2998,17 +3120,19 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2998
3120
  * @param remoteVideoConfig The parameters you expect to configure for the remote video stream.
2999
3121
  * @notes + This API only works after the publisher calls [enableSimulcastMode](#enablesimulcastmode) to enable publishing multiple video streams, in which case the subscriber will receive a stream that is closest to the set configuration.
3000
3122
  * + If you don't call this API after the publisher enables the function of publishing multiple streams, you will receive by default the video stream with the largest resolution set by the publisher.
3001
- * + You should call this API in the room. If you want to call it before entering the room, you should set the `remoteVideoConfig` in the roomConfig` when calling [joinRoom](#joinroom).
3002
- * @region Video Management
3123
+ * + You should call this API in the room. If you want to call it before entering the room, you should set the `remoteVideoConfig` in the `roomConfig` when calling [joinRoom](#joinroom).
3124
+ * @group Audio & Video Transport
3125
+ * @order 20
3003
3126
  */
3004
3127
  setRemoteVideoConfig: (userId: string, remoteVideoConfig: RemoteVideoConfig) => Promise<void>;
3005
3128
 
3006
3129
  /**
3007
- * @region Video Management
3008
3130
  * @brief Enables the simulcast mode of the video stream captured by the camera at the publishing end.imulcasting, including resolution, frame rate, bitrate, scale mode, fallback strategy under poor network conditions.
3009
3131
  * @param enabled
3010
3132
  * @param + You must call this API before publishing the video streams.
3011
- * + After enabling the simulcast mode, SDK automatically sets the encoding parameters for the video streams. For manual setting, call [setVideoEncoderConfig](#setvideoencoderconfig).
3133
+ * + After enabling the simulcast mode, SDK automatically sets the encoding parameters for the video streams. For manual setting, call [setVideoEncoderConfig](#setvideoencoderconfig).
3134
+ * @group Audio & Video Transport
3135
+ * @order 25
3012
3136
  */
3013
3137
  enableSimulcastMode: (enabled: boolean) => boolean;
3014
3138
 
@@ -3022,7 +3146,6 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3022
3146
  * It is recommended to set to greater than or equal to 200 milliseconds; when less than 10 milliseconds, the behavior is undefined.
3023
3147
  * + `≤ 0`: Disable the volume prompt function.
3024
3148
  * + `> 0`: Enable the volume prompt function and set the time interval for receiving the volume prompt callback. In milliseconds.
3025
- * @region Room Management
3026
3149
  */
3027
3150
  setAudioVolumeIndicationInterval: (interval?: number) => void;
3028
3151
 
@@ -3032,7 +3155,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3032
3155
  * @notes With the prompt on, you can:
3033
3156
  * + Get the information of the audio stream captured by the local microphone and screen audio stream through [onLocalAudioPropertiesReport](104479#onlocalaudiopropertiesreport).
3034
3157
  * + Get the information of the subscribed remote audio streams through [onRemoteAudioPropertiesReport](104479#onremoteaudiopropertiesreport).
3035
- * @region Audio Management
3158
+ * @group Audio Management
3159
+ * @order 35
3036
3160
  */
3037
3161
  enableAudioPropertiesReport: (config?: AudioPropertiesConfig) => void;
3038
3162
 
@@ -3040,9 +3164,12 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3040
3164
  * @brief Starts pushing media streams to CDN and sets the relevant configurations.
3041
3165
  * @param transcode Configurations to be set when pushing media streams to CDN.
3042
3166
  * @return
3043
- * @notes + After calling this API, you will receive the pushing a mixed stream to CDN events via [onStreamMixingEvent](104479#onstreammixingevent).
3167
+ * @notes + Before calling this API,you need to enable Push to CDN on the [console](https://console.byteplus.com/rtc/workplaceRTC).
3168
+ * + After calling this API, you will receive the pushing a mixed stream to CDN events via [onStreamMixingEvent](104479#onstreammixingevent).
3169
+ * + If you have subscribed to the push-to-CDN server callback in the [console](https://console.byteplus.com/rtc/cloudRTC?tab=callback), calling this API will receive a [TranscodeStarted](https://docs.byteplus.com/en/byteplus-rtc/docs/75125#transcodestarted) server callback notification. When calling this API repeatedly, subsequent calls to this API will trigger both [TranscodeStarted](https://docs.byteplus.com/en/byteplus-rtc/docs/75125#transcodestarted) and [TranscodeUpdated](https://docs.byteplus.com/en/byteplus-rtc/docs/75125#transcodeupdated) callbacks.
3044
3170
  * + Call [stopLiveTranscoding](#stoplivetranscoding) to stop pushing mixed streams to CDN.
3045
- * @region Advanced Feature
3171
+ * @group Push to CDN
3172
+ * @order 5
3046
3173
  */
3047
3174
  startLiveTranscoding: (transcode: LiveTranscodeConfig) => Promise<void>;
3048
3175
 
@@ -3051,6 +3178,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3051
3178
  * After calling [startLiveTranscoding](104478#startlivetranscoding) to enable the function of pushing streams to CDN, you can call this API to update the relevant configurations.
3052
3179
  * @param transcode Updated configurations. Some of the configurations cannot be updated. See [LiveTranscodeConfig](104481#livetranscodeconfig) for specific indications.
3053
3180
  * @return
3181
+ * @group Push to CDN
3182
+ * @order 6
3054
3183
  */
3055
3184
  updateLiveTranscoding: (transcode: Partial<LiveTranscodeConfig>) => Promise<void>;
3056
3185
 
@@ -3058,7 +3187,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3058
3187
  * @brief Stop pushing media streams to CDN
3059
3188
  * For starting pushing media streams to CDN. Refer to [startLiveTranscoding](104478#startlivetranscoding).
3060
3189
  * @return
3061
- * @region Advanced Feature
3190
+ * @group Push to CDN
3191
+ * @order 7
3062
3192
  */
3063
3193
  stopLiveTranscoding: () => Promise<void>;
3064
3194
 
@@ -3068,7 +3198,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3068
3198
  * @param businessId Your customized businessId
3069
3199
  * BusinessId is a tag, and you can customize its granularity.
3070
3200
  * @notes You must call this API before the [joinRoom](#joinroom) API, otherwise it will be invalid.
3071
- * @region Engine Management
3201
+ * @group Engine Management
3202
+ * @order 5
3072
3203
  */
3073
3204
  setBusinessId: (businessId: string) => boolean;
3074
3205
 
@@ -3082,7 +3213,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3082
3213
  * + When you call this API, the other users in the room will be informed via the related callback:
3083
3214
  * - Switch from `false` to `true`: [onUserJoined](104479#onuserjoined)
3084
3215
  * - Switch from `true` to `false`: [onUserLeave](104479#onuserleave)
3085
- * @region Room Management
3216
+ * @group Room Management
3217
+ * @order 10
3086
3218
  */
3087
3219
  setUserVisibility: (enable: boolean) => Promise<void>;
3088
3220
 
@@ -3092,7 +3224,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3092
3224
  * @param index specify a stream index.
3093
3225
  * @param track specify a video track. See [MediaStreamTrack](https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack).
3094
3226
  * @return
3095
- * @region Video Management
3227
+ * @group Video Management
3228
+ * @order 15
3096
3229
  */
3097
3230
  setExternalVideoTrack: (index: StreamIndex, track: MediaStreamTrack) => Promise<void>;
3098
3231
 
@@ -3102,7 +3235,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3102
3235
  * @param index specify a stream index.
3103
3236
  * @param track specify an audio track. See [MediaStreamTrack](https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack).
3104
3237
  * @return
3105
- * @region Audio Management
3238
+ * @group Audio Management
3239
+ * @order 15
3106
3240
  */
3107
3241
  setExternalAudioTrack: (index: StreamIndex, track: MediaStreamTrack) => Promise<void>;
3108
3242
 
@@ -3112,7 +3246,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3112
3246
  * @param index audio stream index
3113
3247
  * @param videoSourceType Type of the module for video capture
3114
3248
  * @return
3115
- * @region Video Management
3249
+ * @group Video Management
3250
+ * @order 10
3116
3251
  */
3117
3252
  setVideoSourceType: (index: StreamIndex, videoSourceType: VideoSourceType) => Promise<void>;
3118
3253
 
@@ -3122,13 +3257,16 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3122
3257
  * @param index audio stream index
3123
3258
  * @param audioSourceType Type of the module for video capture
3124
3259
  * @return
3260
+ * @group Audio Management
3261
+ * @order 10
3125
3262
  */
3126
3263
  setAudioSourceType: (index: StreamIndex, audioSourceType: AudioSourceType) => Promise<void>;
3127
3264
 
3128
3265
  /**
3129
3266
  * @brief Create an audio mixing manager object
3130
3267
  * @return audio mixing manager object
3131
- * @region Advanced Feature
3268
+ * @group Audio Mixing
3269
+ * @order 0
3132
3270
  */
3133
3271
  getAudioMixingManager: () => IAudioMixingManager;
3134
3272
 
@@ -3137,6 +3275,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3137
3275
  * @param config Configuration of the internal audio capture such as, disabling audio 3A processing. Refer to [MediaTrackConstraints](https://developer.mozilla.org/zh-CN/docs/Web/API/MediaTrackConstraints) for more details.
3138
3276
  * @return
3139
3277
  * @notes You should call this API before starting audio capture and publishing streams.
3278
+ * @group Audio Management
3279
+ * @order 30
3140
3280
  */
3141
3281
  setAudioCaptureConfig: (config: TrackCaptureConfig) => Promise<void>;
3142
3282
 
@@ -3154,7 +3294,7 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3154
3294
 
3155
3295
  /**
3156
3296
  * @brief Log in to the RTM server.
3157
- * Call this method before users within the same `appID` can communicate with each other via messages.
3297
+ * Call this method before users within the same `appID` can communicate with each other via messages.
3158
3298
  * @param token Token for authentication.
3159
3299
  * During testing, you can use generate a temporary Token on [Console](https://console.byteplus.com/auth/login), and fill in any value with `roomId`.
3160
3300
  * To officially go live, you need to use the implement token generation at your server. The `roomId` field should be empty. See [Authentication with Token](70121).
@@ -3162,12 +3302,16 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3162
3302
  * @return
3163
3303
  * @notes + Call [logout](#logout) to log out the IM server.
3164
3304
  * + In the same App ID, the user ID of each user must be unique. The user will be logged out when a user with the same userID joins the room because of the error of `RTM_DUPLICATE_LOGIN`.
3305
+ * @group Message
3306
+ * @order 15
3165
3307
  */
3166
3308
  login: (token: string | null, userId: string) => Promise<void>;
3167
3309
 
3168
3310
  /**
3169
- * After calling this API to logout you are not able to call APIs to send messages and server messages.
3311
+ * @brief After calling this API to logout you are not able to call APIs to send messages and server messages.
3170
3312
  * @return
3313
+ * @group Message
3314
+ * @order 16
3171
3315
  */
3172
3316
  logout: () => Promise<void>;
3173
3317
 
@@ -3176,7 +3320,9 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3176
3320
  * @param token updated token
3177
3321
  * @return
3178
3322
  * @notes + Call this API to refresh the token after the token has expired with no need for calling [login](#login).
3179
- * + You will be informed of the expiration of the token if you tried to login with an expired token or during a reconnection. If the token expired after the user has logged in, no actions need to be taken.
3323
+ * + You will be informed of the expiration of the token if you tried to login with an expired token or during a reconnection. If the token expired after the user has logged in, no actions need to be taken.
3324
+ * @group Message
3325
+ * @order 20
3180
3326
  */
3181
3327
  updateLoginToken: (token: string | null) => Promise<void>;
3182
3328
 
@@ -3185,6 +3331,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3185
3331
  * @param userId ID of the user whose status intended to know
3186
3332
  * @return
3187
3333
  * @notes Call [login](#login) before calling this API.
3334
+ * @group Message
3335
+ * @order 25
3188
3336
  */
3189
3337
  getPeerOnlineStatus: (userId: string) => Promise<USER_ONLINE_STATUS>;
3190
3338
 
@@ -3194,7 +3342,9 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3194
3342
  * @param message Text message within 64 KB.
3195
3343
  * @return
3196
3344
  * @notes + Call [login](#login) before calling this API.
3197
- * + The recipient must be logged into the server and will receive the text message via [onUserMessageReceivedOutsideRoom](104479#onusermessagereceivedoutsideroom) if the message has been sent successfully.
3345
+ * + The recipient must be logged into the server and will receive the text message via [onUserMessageReceivedOutsideRoom](104479#onusermessagereceivedoutsideroom) if the message has been sent successfully.
3346
+ * @group Message
3347
+ * @order 30
3198
3348
  */
3199
3349
  sendUserMessageOutsideRoom: (userId: string, message: string) => Promise<any>;
3200
3350
 
@@ -3202,9 +3352,11 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3202
3352
  * @brief Send point-to-point (P2P) binary message to a user.
3203
3353
  * @param userId ID of the recipient
3204
3354
  * @param message Binary message within 64 KB
3205
- * @return + Call [login](#login) before calling this API.
3206
- * + The recipient must be logged into the server and will receive the text message via [EngineEventsTypes.onUserBinaryMessageReceivedOutsideRoom](104479#onuserbinarymessagereceivedoutsideroom) if the message has been sent successfully.
3207
- * @notes
3355
+ * @return
3356
+ * @notes + Call [login](#login) before calling this API.
3357
+ * + The recipient must be logged into the server and will receive the text message via [EngineEventsTypes.onUserBinaryMessageReceivedOutsideRoom](104479#onuserbinarymessagereceivedoutsideroom) if the message has been sent successfully.
3358
+ * @group Message
3359
+ * @order 31
3208
3360
  */
3209
3361
  sendUserBinaryMessageOutsideRoom: (userId: string, message: ArrayBuffer) => Promise<any>;
3210
3362
 
@@ -3214,7 +3366,9 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3214
3366
  * @param url Address of the IM server
3215
3367
  * @return
3216
3368
  * @notes + Call [login](#login) before calling this API.
3217
- * + [onServerParamsSetResult](104479#onserverparamssetresult) notifies you whether the setting successes.
3369
+ * + [onServerParamsSetResult](104479#onserverparamssetresult) notifies you whether the setting successes.
3370
+ * @group Message
3371
+ * @order 35
3218
3372
  */
3219
3373
  setServerParams: (signature: string, url: string) => Promise<any>;
3220
3374
 
@@ -3222,7 +3376,9 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3222
3376
  * @brief Send point-to-point (P2P) text message to the server.
3223
3377
  * @param message Text message within 64 KB.
3224
3378
  * @return
3225
- * @notes
3379
+ * @notes Before sending a message to the server, you must first call [login](#login) to complete the login process.
3380
+ * @group Message
3381
+ * @order 36
3226
3382
  */
3227
3383
  sendServerMessage: (message: string) => Promise<any>;
3228
3384
 
@@ -3230,7 +3386,9 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3230
3386
  * @brief Send point-to-point (P2P) binary message to the server.
3231
3387
  * @param message Binary message within 64 KB.
3232
3388
  * @return
3233
- * @notes
3389
+ * @notes Before sending a message to the server, you must first call [login](#login) to complete the login process.
3390
+ * @group Message
3391
+ * @order 37
3234
3392
  */
3235
3393
  sendServerBinaryMessage: (message: ArrayBuffer) => Promise<any>;
3236
3394
 
@@ -3253,7 +3411,7 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3253
3411
  /**
3254
3412
  * @hidden
3255
3413
  * @brief Starts publishing a public media stream.
3256
- * @param publicStreamId The public stream's ID.
3414
+ * @param publicStreamId The public stream's ID. The string must conform to the regular expression: `[a-zA-Z0-9_@\-\.]{1,128}`.
3257
3415
  * @param publicStreamParam The public stream's parameters.
3258
3416
  * A public stream can contain several media streams and will appears as the designated layout.
3259
3417
  * If the designated media stream is not published yet, the public stream will automatically update once the media stream is published.
@@ -3263,6 +3421,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3263
3421
  * + Users with different `userID` can call this API with the same stream ID to update the parameters.
3264
3422
  * + Call this API with different stream ID to publish multiple public streams.
3265
3423
  * + Call [stopPushPublicStream](#stoppushpublicstream) to stop publishing the public stream.
3424
+ * @group Public Stream
3425
+ * @order 0
3266
3426
  */
3267
3427
  startPushPublicStream: (publicStreamId: string, publicStreamParam: PublicStreamConfig) => Promise<void>;
3268
3428
 
@@ -3274,6 +3434,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3274
3434
  * The public stream must be published by the current user.
3275
3435
  * @param publicStreamParam The public stream's parameters.
3276
3436
  * @return
3437
+ * @group Public Stream
3438
+ * @order 1
3277
3439
  */
3278
3440
  updatePublicStreamParam: (publicStreamId: string, publicStreamParam: Partial<PublicStreamConfig>) => Promise<void>;
3279
3441
 
@@ -3285,6 +3447,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3285
3447
  * @param publicStreamId The public stream's ID.
3286
3448
  * The public stream must be published by the current user.
3287
3449
  * @return
3450
+ * @group Public Stream
3451
+ * @order 2
3288
3452
  */
3289
3453
  stopPushPublicStream: (publicStreamId: string) => Promise<void>;
3290
3454
 
@@ -3299,6 +3463,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3299
3463
  * + After calling this API, you will receive [onFirstPublicStreamVideoFrameDecoded](104479#onfirstpublicstreamvideoframedecoded) and [onFirstPublicStreamAudioFrameDecoded](104479#onfirstpublicstreamaudioframedecoded) once the first frame has been decoded.
3300
3464
  * + If the public stream contains SEI message, you will receive the message by be informed through [onPublicStreamSEIMessageReceived](104479#onpublicstreamseimessagereceived).
3301
3465
  * + Call [stopPlayPublicStream](#stopplaypublicstream) to unsubscribing from the public stream.
3466
+ * @group Public Stream
3467
+ * @order 5
3302
3468
  */
3303
3469
  startPlayPublicStream: (publicStreamId: string) => Promise<void>;
3304
3470
 
@@ -3308,6 +3474,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3308
3474
  * Call [startPlayPublicStream](104478#startplaypublicstream) to subscribe to the public stream.
3309
3475
  * @param publicStreamId The public stream's ID.
3310
3476
  * @return
3477
+ * @group Public Stream
3478
+ * @order 6
3311
3479
  */
3312
3480
  stopPlayPublicStream: (publicStreamId: string) => Promise<void>;
3313
3481
 
@@ -3316,11 +3484,12 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3316
3484
  * @brief Sets the player information and rendering mode for the public stream.
3317
3485
  * @param publicStreamId The public stream's ID.
3318
3486
  * @param videoPlayerOption Player information and rendering mode.
3487
+ * @group Public Stream
3488
+ * @order 10
3319
3489
  */
3320
3490
  setPublicStreamVideoPlayer: (publicStreamId: string, videoPlayerOption: Omit<VideoPlayerOption, "userId">) => void;
3321
3491
 
3322
3492
  /**
3323
- * @region Video Management
3324
3493
  * @brief Set the placeholder image during local video capture pause
3325
3494
  * @param index
3326
3495
  * @param filePath Image path in Http protocal; or Blob object.
@@ -3329,12 +3498,16 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3329
3498
  * @notes + Only available to Chrome browser on Mac
3330
3499
  * + It's recommended to call this API before stopping video capture to avoid blank frame in video recording.
3331
3500
  * + You cannot see the image during local preview.
3501
+ * @group Video Management
3502
+ * @order 40
3332
3503
  */
3333
3504
  setDummyCaptureImagePath: (index: StreamIndex, filePath: string) => Promise<void>;
3334
3505
 
3335
3506
  /**
3336
3507
  * @brief Get the default parameters of `LiveTranscodeConfig`.
3337
- * @return The default parameters of `LiveTranscodeConfig`
3508
+ * @return The default parameters of `LiveTranscodeConfig`.
3509
+ * @group Push to CDN
3510
+ * @order 0
3338
3511
  */
3339
3512
  defaultTranscoding: () => Required<LiveTranscodeConfig>;
3340
3513
 
@@ -3347,6 +3520,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3347
3520
  * @notes + You must call this API before joining the room.
3348
3521
  * + After you enable the fallback, you will receive [onSimulcastSubscribeFallback](104479#onsimulcastsubscribefallback) and [onRemoteVideoSizeChanged](104479#onremotevideosizechanged) when the resolution of your subscribed stream is lowered or restored.
3349
3522
  * + You can set media stream fallback using API or cloud configuration. The latter takes a higher priority.
3523
+ * @group Audio & Video Transport
3524
+ * @order 30
3350
3525
  */
3351
3526
  setSubscribeFallbackOption: (option: SubscribeFallbackOption) => boolean;
3352
3527
 
@@ -3358,6 +3533,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3358
3533
  * @param priority The priority of the remote user's media stream
3359
3534
  * @return + `true` Success
3360
3535
  * + `false` Failure
3536
+ * @group Audio & Video Transport
3537
+ * @order 35
3361
3538
  */
3362
3539
  setRemoteUserPriority: (userId: string, priority: RemoteUserPriority) => boolean;
3363
3540
 
@@ -3368,39 +3545,50 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3368
3545
  * @return Resolve when the test ends.
3369
3546
  * @notes + You can call this API whether the user is in the room.
3370
3547
  * + Call [stopAudioPlaybackDeviceTest](#stopaudioplaybackdevicetest) to stop the playback test before moving on to the other device tests.
3548
+ * @group Device Management
3549
+ * @order 20
3371
3550
  */
3372
3551
  startAudioPlaybackDeviceTest: (filePath: string, indicationInterval: number) => Promise<void>;
3373
3552
 
3374
3553
  /**
3375
3554
  * @brief Stop the playback test for the local audio device.
3376
3555
  * @notes Call this API to stop the playback test started by calling [startAudioPlaybackDeviceTest](#startaudioplaybackdevicetest) before moving on to the other device tests.
3556
+ * @group Device Management
3557
+ * @order 21
3377
3558
  */
3378
3559
  stopAudioPlaybackDeviceTest: () => void;
3379
3560
 
3380
3561
  /**
3381
3562
  * @brief Start the capture and playback test for local audio devices.
3382
- * We recommend to register [onLocalAudioPropertiesReport](104479#onlocalaudiopropertiesreport) callback via [enableAudioPropertiesReport](104478#enableaudiopropertiesreport). Once the test starts, you can get the volume of the capturing audio by this callback.
3563
+ * We recommend to register [onLocalAudioPropertiesReport](104479#onlocalaudiopropertiesreport) callback via [enableAudioPropertiesReport](104478#enableaudiopropertiesreport). Once the test starts, you can get the volume of the capturing audio by this callback.
3383
3564
  * @param indicationInterval The time interval between each callback of [onAudioPlaybackDeviceTestVolume](104479#onaudioplaybackdevicetestvolume) via which you get informed of the playback volume during the test. We recommend setting it to 200 ms. The minimal value is 100 ms.
3384
3565
  * @param onAutoplayFailed Autoplay fails due to the limitation of the browser. We recommend to execute `resume` as soon as the user clicks on the UI element.
3385
3566
  * @return Resolve when the test ends.
3386
3567
  * @notes + You can call this API whether the user is in a room.
3387
3568
  * + You can call [setCaptureVolume]({{api}}#RTCEngine.setCaptureVolume) to adjust the capture volume during audio route testing. You cannot call [setPlaybackVolume]({{api}}#RTCEngine.setPlaybackVolume) during audio route testing.
3388
- * + The audio capturing will stop and begins to play the recording in 30 s after calling this API. Before that, call [stopAudioDeviceRecordAndPlayTest](#stopaudiodevicerecordandplaytest) to stop capturing and start playing the recording.
3569
+ * + The audio capturing will stop and begins to play the recording in 30 seconds after calling this API. Before that, call [stopAudioDeviceRecordAndPlayTest](#stopaudiodevicerecordandplaytest) to stop capturing and start playing the recording.
3389
3570
  * + You must stop the test before starting another test for audio devices.
3390
3571
  * + Call [stopAudioDevicePlayTest](#stopaudiodeviceplaytest) to stop the test, including capturing and playing the recording.
3391
3572
  * + This test performs locally and does not involve network connection testing.
3573
+ * @group Device Management
3574
+ * @order 25
3392
3575
  */
3393
3576
  startAudioDeviceRecordTest: (indicationInterval: number, onAutoplayFailed?: (resume: () => Promise<any>) => any) => Promise<void>;
3394
3577
 
3395
3578
  /**
3396
3579
  * @brief Call this API to stop recording in the test and start to play the recording.
3580
+ * After calling [startAudioDeviceRecordTest](104478#startaudiodevicerecordtest), you need to call this API within 30 seconds. Otherwise, the recording will automatically stop and begin playing back the recorded audio.
3397
3581
  * @notes After calling this API, the recording starts playing during which you can call [stopAudioDevicePlayTest](104478#stopaudiodeviceplaytest) to stop playing.
3582
+ * @group Device Management
3583
+ * @order 26
3398
3584
  */
3399
3585
  stopAudioDeviceRecordAndPlayTest: () => void;
3400
3586
 
3401
3587
  /**
3402
3588
  * @brief Stop the capture and playback test for local audio devices which is started by calling [startAudioDeviceRecordTest](104478#startaudiodevicerecordtest).
3403
- * Before the test ends by itself, you can call this API to stop the recording or playing.
3589
+ * Before the test ends by itself, you can call this API to stop the recording or playing.
3590
+ * @group Device Management
3591
+ * @order 27
3404
3592
  */
3405
3593
  stopAudioDevicePlayTest: () => void;
3406
3594
 
@@ -3409,23 +3597,32 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3409
3597
  * @param profile A sound quality option consists of a set of audio profiles and applying each brings a different listening experience. Choose the appropriate audio quality to meet the requirement of the scenario.
3410
3598
  * @notes You should call this API before starting audio capture and publishing streams.
3411
3599
  * @return
3600
+ * @group Audio Management
3601
+ * @order 20
3412
3602
  */
3413
3603
  setAudioProfile: (profile: AudioProfileType) => Promise<void>;
3414
3604
 
3605
+ /**
3606
+ * @hidden
3607
+ */
3608
+ setAudioEncodeMaxBitrate: (maxBitrate: number) => Promise<void>;
3609
+
3415
3610
  /**
3416
3611
  * @brief Get the [MediaStreamTrack](https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack) of the local audios or videos.
3417
3612
  * @param streamIndex Mainstream or screen-sharing stream.
3418
3613
  * @param type Video or audio
3419
- * Audio: Track of the sounds collected from the microphone, customized audio track, audio files, and the sound card.
3420
- * Video: Track of the videos collected from the camera, customized video track and screen-sharings.
3614
+ * Audio: Track of the sounds collected from the microphone, customized audio track, audio files, and the sound card.
3615
+ * Video: Track of the videos collected from the camera, customized video track and screen-sharings.
3421
3616
  * @return `undefined` for the MediaStreamTrack does not exist. For example, the local media capturing has not started.
3422
3617
  * @notes + Call this API after you start the local media capture or designate a customized MediaStreamTrack.
3423
- * + Callback of the MediaStreamTrack will inform you by the event of `ended` that the local media capture stops, probably caused either by an API call or the removal of devices.
3424
- * + You can get the following info from the MediaStreamTrack: video resolution, device ID, and volume. You can manage the track actions by the method of `stop` or `mute`. You can also change the properties of the stream, such as audio volume.
3425
- * + We recommend to call RTC APIs to enable your app with the following capabilities instead of using mediaStreamTrack.<br/>
3426
- * &ensp; 1. Get the video resolution or audio volume of the local streams: [onLocalStreamStats](104479#onlocalstreamstats)
3427
- * &ensp; 2. Get device IDs: [enumerateDevices](#enumeratedevices)
3428
- * &ensp; 3. stop: [stopAudioCapture](#stopaudiocapture), [stopVideoCapture](#stopvideocapture)
3618
+ * + Callback of the MediaStreamTrack will inform you by the event of `ended` that the local media capture stops, probably caused either by an API call or the removal of devices.
3619
+ * + You can get the following info from the MediaStreamTrack: video resolution, device ID, and volume. You can manage the track actions by the method of `stop` or `mute`. You can also change the properties of the stream, such as audio volume.
3620
+ * + We recommend to call RTC APIs to enable your app with the following capabilities instead of using mediaStreamTrack.<br/>
3621
+ * &ensp; - Get the video resolution or audio volume of the local streams: [onLocalStreamStats](104479#onlocalstreamstats)
3622
+ * &ensp; - Get device IDs: [enumerateDevices](#enumeratedevices)
3623
+ * &ensp; - Stop capturing: [stopAudioCapture](#stopaudiocapture), [stopVideoCapture](#stopvideocapture)
3624
+ * @group Custom Stream Processing
3625
+ * @order 0
3429
3626
  */
3430
3627
  getLocalStreamTrack: (streamIndex: StreamIndex, type: "video" | "audio") => MediaStreamTrack | undefined;
3431
3628
 
@@ -3436,11 +3633,13 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3436
3633
  * @param type Video or audio
3437
3634
  * @return `undefined` for the MediaStreamTrack does not exist. For example, the local user has not subscribed to the remote stream.
3438
3635
  * @notes + Call this API after the local user subscribe to the remote media stream.
3439
- * + Callback of the MediaStreamTrack will inform you by the event of `ended` that the remote media stream stops, probably caused by the API call of [unsubscribeStream](#unsubscribestream) or [unsubscribeScreen](#unsubscribescreen).
3440
- * + You can get video resolution and audio volume from the MediaStreamTrack. You can manage the track actions by the method of `stop` or `mute`. You can also change the properties of the stream, such as audio volume.
3441
- * + We recommend to call RTC APIs to enable your app with the following capabilities instead of using mediaStreamTrack.<br/>
3442
- * &ensp; 1. Get the video resolution or audio volume of the remote streams: [onRemoteStreamStats]({{callback}}#onremotestreamstats)
3443
- * &ensp; 2. Unsubscribe: [unsubscribeStream](#unsubscribestream), [unsubscribeScreen](#unsubscribescreen)
3636
+ * + Callback of the MediaStreamTrack will inform you by the event of `ended` that the remote media stream stops, probably caused by the API call of [unsubscribeStream](#unsubscribestream) or [unsubscribeScreen](#unsubscribescreen).
3637
+ * + You can get video resolution and audio volume from the MediaStreamTrack. You can manage the track actions by the method of `stop` or `mute`. You can also change the properties of the stream, such as audio volume.
3638
+ * + We recommend to call RTC APIs to enable your app with the following capabilities instead of using mediaStreamTrack.<br/>
3639
+ * &ensp; - Get the video resolution or audio volume of the remote streams: [onRemoteStreamStats]({{callback}}#onremotestreamstats)
3640
+ * &ensp; - Unsubscribe: [unsubscribeStream](#unsubscribestream), [unsubscribeScreen](#unsubscribescreen)
3641
+ * @group Custom Stream Processing
3642
+ * @order 1
3444
3643
  */
3445
3644
  getRemoteStreamTrack: (userId: string, streamIndex: StreamIndex, type: "video" | "audio") => MediaStreamTrack | undefined;
3446
3645
 
@@ -3450,7 +3649,9 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3450
3649
  * @param type Video or audio
3451
3650
  * @return `undefined` for the MediaStreamTrack does not exist. For example, the public stream does not exist.
3452
3651
  * @notes + Call this API after you start playing the public stream by calling [`stopPlayPublicStream`](#stopplaypublicstream).
3453
- * + Callback of the MediaStreamTrack will inform you the event of `ended` that the public stream stops, probably caused by the API call of [`stopPlayPublicStream`](#stopplaypublicstream).
3652
+ * + Callback of the MediaStreamTrack will inform you the event of `ended` that the public stream stops, probably caused by the API call of [`stopPlayPublicStream`](#stopplaypublicstream).
3653
+ * @group Custom Stream Processing
3654
+ * @order 5
3454
3655
  */
3455
3656
  getPublicStreamTrack: (id: string, type: "video" | "audio") => MediaStreamTrack | undefined;
3456
3657
 
@@ -3459,6 +3660,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3459
3660
  * @param streamIndex The specified video stream.
3460
3661
  * @notes + The snapshot is taken with all video effects on, like rotation, and mirroring.
3461
3662
  * + You can take the snapshot either using SDK internal video capture or customized capture.
3663
+ * @group Video Snapshot
3664
+ * @order 0
3462
3665
  */
3463
3666
  takeLocalSnapshot: (streamIndex: StreamIndex) => Promise<ImageData>;
3464
3667
 
@@ -3466,17 +3669,18 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3466
3669
  * @brief Take a snapshot of the remote video.
3467
3670
  * @param id The index of the user's stream or the index of the public stream.
3468
3671
  * @param streamIndex The specified video stream.
3672
+ * @group Video Snapshot
3673
+ * @order 1
3469
3674
  */
3470
3675
  takeRemoteSnapshot: (id: string, streamIndex: StreamIndex) => Promise<ImageData>;
3471
3676
 
3472
3677
  /**
3473
3678
  * @brief Registers an extension.
3679
+ * You can use the extension to implement features such as [Beauty Effects](https://docs.byteplus.com/byteplus-rtc/docs/148646), [Virtual Background](https://docs.byteplus.com/byteplus-rtc/docs/697417), and [AI Noise-Cancelling](https://docs.byteplus.com/byteplus-rtc/docs/148647).
3474
3680
  * @param extension The extension instance.
3475
3681
  * @return
3476
- * @notes You can use the extension to implement the following features. </br>
3477
- * &ensp; + [Beauty Effects](https://docs.byteplus.com/byteplus-rtc/docs/148646)
3478
- * &ensp; + [Virtual Background](https://docs.byteplus.com/byteplus-rtc/docs/697417)
3479
- * &ensp; + [AI Noise-Cancelling](https://docs.byteplus.com/byteplus-rtc/docs/148647)
3682
+ * @group Extensions
3683
+ * @order 0
3480
3684
  */
3481
3685
  registerExtension: (extension: RTCExtension) => Promise<void>;
3482
3686
 
@@ -3487,10 +3691,11 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3487
3691
  * After calling this method, you will receive the [onSubtitleStateChanged](104479#onsubtitlestatechanged) to inform you of whether subtitles are on.
3488
3692
  * @param config Subtitle configrations.
3489
3693
  * @return
3490
- * @notes
3491
- * You must call this method after joining the room.
3492
- * You can set your source language by calling `joinRoom` and importing a json formatted string `"source_language": "zh"` through the paramater of extraInfo. Only chinese, English and Japanese are supported.
3493
- * The language of your browser will be automatically set as the source language if you don't set it.
3694
+ * @notes + You must call this method after joining the room.
3695
+ * + You can set your source language to Chinese by calling `joinRoom` and importing a json formatted string `"source_language": "zh"` through the parameter of extraInfo, to English by importing `"source_language": "en"` , and to Japanese by importing `"source_language": "ja"`.
3696
+ * + The language of your browser will be automatically set as the source language if you don't set it. If the language of your browser is not Chinese, English or Japanese, SDK will set Chinese as the source language.
3697
+ * @group Live Caption and Translation
3698
+ * @order 0
3494
3699
  */
3495
3700
  startSubtitle: (config: RTCSubtitleConfig) => Promise<void>;
3496
3701
 
@@ -3498,6 +3703,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3498
3703
  * @hidden currently not available
3499
3704
  * @brief Turns off subtitles.
3500
3705
  * After calling this method, you will receive the [onSubtitleStateChanged](104479#onsubtitlestatechanged) to inform you of whether subtitles are off.
3706
+ * @group Live Caption and Translation
3707
+ * @order 1
3501
3708
  */
3502
3709
  stopSubtitle: () => void;
3503
3710
 
@@ -3510,6 +3717,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3510
3717
  * @return + `true`: Success.
3511
3718
  * + `false`: Failure.
3512
3719
  * @notes You must call this API before joining the room. Calling it afterward is invalid.
3720
+ * @group Custom Stream Processing
3721
+ * @order 10
3513
3722
  */
3514
3723
  setRemoteStreamRenderSync: (sync: boolean) => boolean;
3515
3724
 
@@ -3521,6 +3730,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3521
3730
  * @notes + It is recommended to set the capture volume after the capture has started.
3522
3731
  * + If capture has not yet started when you call this API, the setting will take effect after it starts.
3523
3732
  * + The capture volume adjustment controls the audio stream before audio mixing.
3733
+ * @group Audio Management
3734
+ * @order 25
3524
3735
  */
3525
3736
  setCaptureVolume: (streamIndex: StreamIndex, volume: number) => void;
3526
3737
 
@@ -3533,16 +3744,21 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3533
3744
  * @notes + It is recommended to set the playback volume after the playing has started.
3534
3745
  * + If the playing has not yet started when you call this API, the setting will take effect after it starts.
3535
3746
  * + The playback volume cannot be adjusted in [Conference Mode](113547).
3747
+ * @group Audio Management
3748
+ * @order 26
3536
3749
  */
3537
3750
  setPlaybackVolume: (userId: string, streamIndex: StreamIndex, volume: number) => void;
3538
3751
 
3539
3752
  /**
3753
+ * @hidden
3540
3754
  * @brief Adjust audio playback volume of a public stream.
3541
3755
  * @param publicStreamId The Id of a specified public stream.
3542
3756
  * @param volume The percentage of playback volume to the original volume in range of [0, 400]. The default value is 100%.
3543
3757
  * For better call quality, it is recommended to set the value in range of [0, 100].
3544
3758
  * @notes + It is recommended to set the playback volume after the playing has started.
3545
3759
  * + If the playing has not yet started when you call this API, the setting will take effect after it starts.
3760
+ * @group Public Stream
3761
+ * @order 15
3546
3762
  */
3547
3763
  setPublicStreamVolume: (publicStreamId: string, volume: number) => void;
3548
3764
 
@@ -3555,6 +3771,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3555
3771
  * + Call [updateForwardStreamToRooms]({{api}}#RTCEngine.updateForwardStreamToRooms) to add or remove the target room(s).
3556
3772
  * + Call [stopForwardStreamToRooms]({{api}}#RTCEngine.stopForwardStreamToRooms) to stop forwarding media stream to all rooms.
3557
3773
  * + Call [pauseForwardStreamToAllRooms]({{api}}#RTCEngine.pauseForwardStreamToAllRooms) to pause forwarding media stream to all rooms.
3774
+ * @group Audio & Video Transport
3775
+ * @order 40
3558
3776
  */
3559
3777
  startForwardStreamToRooms: (forwardStreamInfos: ForwardStreamInfo[]) => Promise<ForwardStreamStateInfo[]>;
3560
3778
 
@@ -3564,6 +3782,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3564
3782
  * @return Status information for forwarding media stream across rooms.
3565
3783
  * @notes + Users in the added room will receive [onUserJoined]({{callback}}#EngineEvents.onUserJoined) and [onUserPublishStream]({{callback}}#EngineEvents.onUserPublishStream)/[onUserPublishScreen]({{callback}}#EngineEvents.onUserPublishScreen).
3566
3784
  * + Users in the removed room will receive [onUserUnpublishStream]({{callback}}#EngineEvents.onUserUnpublishStream)/[onUserUnpublishScreen]({{callback}}#EngineEvents.onUserUnpublishScreen) and [onUserLeave]({{callback}}#EngineEvents.onUserLeave).
3785
+ * @group Audio & Video Transport
3786
+ * @order 41
3567
3787
  */
3568
3788
  updateForwardStreamToRooms: (forwardStreamInfos: ForwardStreamInfo[]) => Promise<ForwardStreamStateInfo[]>;
3569
3789
 
@@ -3573,6 +3793,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3573
3793
  * @notes + Users in the former target rooms will receive [onUserUnpublishStream]({{callback}}#EngineEvents.onUserUnpublishStream)/[onUserUnpublishScreen]({{callback}}#EngineEvents.onUserUnpublishScreen) and [onUserLeave]({{callback}}#EngineEvents.onUserLeave).
3574
3794
  * + Call [updateForwardStreamToRooms]({{api}}#RTCEngine.updateForwardStreamToRooms) to stop forwarding media stream to specific rooms.
3575
3795
  * + Call [pauseForwardStreamToAllRooms]({{api}}#RTCEngine.pauseForwardStreamToAllRooms) and [resumeForwardStreamToAllRooms]({{api}}#RTCEngine.resumeForwardStreamToAllRooms) to pause and resume fowarding media stream to all rooms.
3796
+ * @group Audio & Video Transport
3797
+ * @order 42
3576
3798
  */
3577
3799
  stopForwardStreamToRooms: () => Promise<ForwardStreamStateInfo[]>;
3578
3800
 
@@ -3581,6 +3803,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3581
3803
  * After calling this API, call [resumeForwardStreamToAllRooms]({{api}}#RTCEngine.resumeForwardStreamToAllRooms) to resume.
3582
3804
  * @return Status information for forwarding media stream across rooms.
3583
3805
  * @notes Users in the target rooms will receive [onUserUnpublishStream]({{callback}}#EngineEvents.onUserUnpublishStream)/[onUserUnpublishScreen]({{callback}}#EngineEvents.onUserUnpublishScreen) and [onUserLeave]({{callback}}#EngineEvents.onUserLeave).
3806
+ * @group Audio & Video Transport
3807
+ * @order 43
3584
3808
  */
3585
3809
  pauseForwardStreamToAllRooms: () => Promise<ForwardStreamStateInfo[]>;
3586
3810
 
@@ -3588,6 +3812,8 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3588
3812
  * @brief Resume forwarding media stream to all rooms.
3589
3813
  * @return Status information for forwarding media stream across rooms.
3590
3814
  * @notes Users in the target room will receive [onUserJoined]({{callback}}#EngineEvents.onUserJoined) and [onUserPublishStream]({{callback}}#EngineEvents.onUserPublishStream)/[onUserPublishScreen]({{callback}}#EngineEvents.onUserPublishScreen).
3815
+ * @group Audio & Video Transport
3816
+ * @order 44
3591
3817
  */
3592
3818
  resumeForwardStreamToAllRooms: () => Promise<ForwardStreamStateInfo[]>;
3593
3819
  }
@@ -4149,7 +4375,7 @@ export interface ScreenEncoderConfig {
4149
4375
  export declare type TrackCaptureConfig = Omit<MediaTrackConstraints, "deviceId">;
4150
4376
 
4151
4377
  /**
4152
- * @brief The mirror type
4378
+ * @brief The local mirror type. You cannot use mirror effect during transmission and encoding due to the restrictions of web explorer.
4153
4379
  */
4154
4380
  export declare enum MirrorType {
4155
4381
 
@@ -4665,7 +4891,12 @@ export declare enum NetworkQuality {
4665
4891
  /**
4666
4892
  * @brief Network quality is very bad, users can barely communicate. It is recommended to notify users of poor network connection through UI.
4667
4893
  */
4668
- VBAD = 5
4894
+ VBAD = 5,
4895
+
4896
+ /**
4897
+ * @brief The call was terminated due to a network disconnection.
4898
+ */
4899
+ DOWN = 6
4669
4900
  }
4670
4901
 
4671
4902
  /**
@@ -4897,6 +5128,7 @@ export declare enum TRANSCODING_VIDEO_CODEC {
4897
5128
  }
4898
5129
 
4899
5130
  /**
5131
+ * @hidden
4900
5132
  * @brief Subtitle configrations.
4901
5133
  */
4902
5134
  export interface RTCSubtitleConfig {
@@ -4913,6 +5145,7 @@ export interface RTCSubtitleConfig {
4913
5145
  }
4914
5146
 
4915
5147
  /**
5148
+ * @hidden
4916
5149
  * @brief Subtitle mode.
4917
5150
  */
4918
5151
  export declare enum SUBTITLE_MODE {
@@ -4929,6 +5162,7 @@ export declare enum SUBTITLE_MODE {
4929
5162
  }
4930
5163
 
4931
5164
  /**
5165
+ * @hidden
4932
5166
  * @brief The states of the subtitling task.
4933
5167
  */
4934
5168
  export interface SubtitleEvent {
@@ -4950,6 +5184,7 @@ export interface SubtitleEvent {
4950
5184
  }
4951
5185
 
4952
5186
  /**
5187
+ * @hidden
4953
5188
  * @brief Types of the states of the subtitling task.
4954
5189
  */
4955
5190
  export declare enum SubtitleEventType {
@@ -4971,6 +5206,7 @@ export declare enum SubtitleEventType {
4971
5206
  }
4972
5207
 
4973
5208
  /**
5209
+ * @hidden
4974
5210
  * @brief Related information about subtitles.
4975
5211
  */
4976
5212
  export interface SubtitleMessage {
@@ -4994,9 +5230,20 @@ export interface SubtitleMessage {
4994
5230
  * @brief Incremental sequence numbers assigned to transcribed or translated texts of the speaker's speech. Complete and incomplete sentences are numbered individually.
4995
5231
  */
4996
5232
  sequence: number;
5233
+
5234
+ /**
5235
+ * @brief Subtitle language code.
5236
+ */
5237
+ language: string;
5238
+
5239
+ /**
5240
+ * @brief Subtitle mode.
5241
+ */
5242
+ mode: SUBTITLE_MODE;
4997
5243
  }
5244
+
4998
5245
  /**
4999
- * @brief Cloud proxy informatio
5246
+ * @brief Cloud proxy information.
5000
5247
  */
5001
5248
  export interface CloudProxyInfo {
5002
5249
 
@@ -5208,7 +5455,8 @@ export interface IVERTC {
5208
5455
  * @return Return an `IRTCEngine` instance if you call this API successfully.
5209
5456
  * @notes + Call [destroyEngine](#destroyengine) respectively to destroy each IRTCEngine instance.
5210
5457
  * + As each IRTCEngine instance is resource consuming, we recommend creating no more than 2 engine instances on each device at the same time.
5211
- * @region Engine Management
5458
+ * @group Engine Management
5459
+ * @order 0
5212
5460
  */
5213
5461
  createEngine: (appId: string, config?: EngineConfig) => IRTCEngine;
5214
5462
 
@@ -5217,14 +5465,16 @@ export interface IVERTC {
5217
5465
  * @param engine By calling this API, this `IRTCEngine` instance and resource related will be wiped from memory. And any interaction with the media server will end.
5218
5466
  * @notes + Before calling this API, ensure all business scenarios related to this `IRTCEngine` instance have ended.
5219
5467
  * + Calling this API will block the main thread until it completes the exiting process. Therefore, do not include this API in a callback. Nor wait in a callback for the execution of this API in the main thread, thus causing a deadlock.
5220
- * @region Engine Management
5468
+ * @group Engine Management
5469
+ * @order 1
5221
5470
  */
5222
5471
  destroyEngine: (engine: IRTCEngine) => void;
5223
5472
 
5224
5473
  /**
5225
5474
  * @brief Get the current version of the SDK.
5226
5475
  * @return The current SDK version.
5227
- * @region Engine Management
5476
+ * @group Engine Management
5477
+ * @order 10
5228
5478
  */
5229
5479
  getSdkVersion: () => string;
5230
5480
 
@@ -5233,6 +5483,8 @@ export interface IVERTC {
5233
5483
  * Call this API to get deviceId used to specify the device when calling [setAudioPlaybackDevice](104478#setaudioplaybackdevice), [startVideoCapture](104478#startvideocapture), and [startAudioCapture](104478#startaudiocapture).
5234
5484
  * @return A list of all media devices.
5235
5485
  * @notes Only when the browser has permission to the media devices can it enumerate the full device list. Make sure the media device access is turned on before calling this API.
5486
+ * @group Device Management
5487
+ * @order 0
5236
5488
  */
5237
5489
  enumerateDevices: () => Promise<MediaDeviceInfo[]>;
5238
5490
 
@@ -5241,7 +5493,8 @@ export interface IVERTC {
5241
5493
  * @param options The device type you need
5242
5494
  * @return + `video: boolean` Video devices
5243
5495
  * + `audio:boolean` Audio devices
5244
- * @region Device Management
5496
+ * @group Device Management
5497
+ * @order 5
5245
5498
  */
5246
5499
  enableDevices: (options?: {
5247
5500
 
@@ -5264,6 +5517,8 @@ export interface IVERTC {
5264
5517
  * Call this API to get Device IDs used to specify the device when calling [startAudioCapture](104478#startaudiocapture) and [setAudioCaptureDevice](104478#setaudiocapturedevice).
5265
5518
  * @return A list including all microphone devices.
5266
5519
  * @notes Only when the browser has permission to the media devices can it enumerate the full device list. Make sure the media device access is turned on before calling this API.
5520
+ * @group Device Management
5521
+ * @order 10
5267
5522
  */
5268
5523
  enumerateAudioCaptureDevices: () => Promise<MediaDeviceInfo[]>;
5269
5524
 
@@ -5272,6 +5527,8 @@ export interface IVERTC {
5272
5527
  * Call this API to get Device IDs used to specify the device when calling [startVideoCapture](104478#startvideocapture) and [setVideoCaptureDevice](104478#setvideocapturedevice).
5273
5528
  * @return A list including all camera devices.
5274
5529
  * @notes Only when the browser has permission to the media devices can it enumerate the full device list. Make sure the media device access is turned on before calling this API.
5530
+ * @group Device Management
5531
+ * @order 11
5275
5532
  */
5276
5533
  enumerateVideoCaptureDevices: () => Promise<MediaDeviceInfo[]>;
5277
5534
 
@@ -5280,6 +5537,8 @@ export interface IVERTC {
5280
5537
  * Call this API to get Device IDs used to specify the device when calling [setAudioPlaybackDevice](104478#setaudioplaybackdevice).
5281
5538
  * @return A list including all audio playback devices.
5282
5539
  * @notes Only when the browser has permission to the media devices can it enumerate the full device list. Make sure the media device access is turned on before calling this API.
5540
+ * @group Device Management
5541
+ * @order 12
5283
5542
  */
5284
5543
  enumerateAudioPlaybackDevices: () => Promise<MediaDeviceInfo[]>;
5285
5544
 
@@ -5287,7 +5546,8 @@ export interface IVERTC {
5287
5546
  * @brief Call this API to check whether the browser is supported.
5288
5547
  * @return + `True`: Supported
5289
5548
  * + `False`: Not Supported
5290
- * @region Engine Management
5549
+ * @group Engine Management
5550
+ * @order 15
5291
5551
  */
5292
5552
  isSupported: () => Promise<boolean>;
5293
5553
 
@@ -5295,15 +5555,18 @@ export interface IVERTC {
5295
5555
  * @brief Gets the codec type supported by current browser.
5296
5556
  * If you have enabled vp8 codec, you can call the API to check whether the current browser supports vp8 encoding type before entering the room.
5297
5557
  * @return Codec types supported by the current browser
5298
- * @region Engine Management
5558
+ * @group Engine Management
5559
+ * @order 20
5299
5560
  */
5300
5561
  getSupportedCodecs: () => Promise<string[]>;
5301
5562
 
5302
5563
  /**
5303
5564
  * @brief Configures the logging level of local cache, and the maximum cache space that can be used.
5304
5565
  * @notes This API must be called before [createEngine](#createengine). If called after [createEngine](#createengine), it will take effect after the next [createEngine](#createengine) after [destroyEngine](#destroyengine).
5566
+ * @group Engine Management
5567
+ * @order 25
5305
5568
  */
5306
- setLogConfig: ({ logLevel, LogfileSize }: {
5569
+ setLogConfig: ({ logLevel, LogfileSize, }: {
5307
5570
 
5308
5571
  /**
5309
5572
  * @brief The logging level of local cache.
@@ -5324,6 +5587,8 @@ export interface IVERTC {
5324
5587
  /**
5325
5588
  * @brief Download local cache generated file.
5326
5589
  * @param key The key of the local cache. If empty, download the logs from the current cache.
5590
+ * @group Engine Management
5591
+ * @order 26
5327
5592
  */
5328
5593
  downloadLog: (key?: string) => void;
5329
5594
  }
@@ -5351,7 +5616,7 @@ declare class VERTC implements IVERTC {
5351
5616
  platform: string;
5352
5617
  commitInfo: string;
5353
5618
  downloadLog: (key?: string | undefined) => void;
5354
- setLogConfig: ({ logLevel, LogfileSize }: {
5619
+ setLogConfig: ({ logLevel, LogfileSize, }: {
5355
5620
  logLevel?: "none" | "error" | "info" | "warning" | "trace" | undefined;
5356
5621
  LogfileSize?: number | undefined;
5357
5622
  }) => void;