agora-electron-sdk 4.2.6 → 4.3.0-dev.1
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/CHANGELOG.md +20 -0
- package/js/Private/AgoraBase.js +139 -174
- package/js/Private/AgoraMediaBase.js +49 -20
- package/js/Private/AgoraMediaPlayerTypes.js +32 -23
- package/js/Private/IAgoraH265Transcoder.js +39 -0
- package/js/Private/IAgoraMediaStreamingSource.js +32 -32
- package/js/Private/IAgoraMusicContentCenter.js +19 -19
- package/js/Private/IAgoraRhythmPlayer.js +9 -9
- package/js/Private/IAgoraRtcEngine.js +12 -12
- package/js/Private/IAgoraSpatialAudio.js +3 -31
- package/js/Private/extension/IAgoraH265TranscoderExtension.js +2 -0
- package/js/Private/impl/AgoraMediaBaseImpl.js +26 -2
- package/js/Private/impl/IAgoraH265TranscoderImpl.js +119 -0
- package/js/Private/impl/IAgoraMediaEngineImpl.js +13 -13
- package/js/Private/impl/IAgoraMediaPlayerImpl.js +92 -74
- package/js/Private/impl/IAgoraMediaPlayerSourceImpl.js +12 -2
- package/js/Private/impl/IAgoraMediaRecorderImpl.js +2 -2
- package/js/Private/impl/IAgoraMusicContentCenterImpl.js +20 -20
- package/js/Private/impl/IAgoraRtcEngineExImpl.js +66 -84
- package/js/Private/impl/IAgoraRtcEngineImpl.js +456 -440
- package/js/Private/impl/IAgoraSpatialAudioImpl.js +157 -181
- package/js/Private/impl/IAudioDeviceManagerImpl.js +22 -22
- package/js/Private/internal/AgoraH265TranscoderInternal.js +86 -0
- package/js/Private/internal/AgoraMediaBaseInternal.js +34 -0
- package/js/Private/internal/IrisApiEngine.js +35 -20
- package/js/Private/internal/LocalSpatialAudioEngineInternal.js +0 -39
- package/js/Private/internal/MediaPlayerInternal.js +22 -21
- package/js/Private/internal/MusicContentCenterInternal.js +1 -4
- package/js/Private/internal/RtcEngineExInternal.js +101 -134
- package/js/Private/ti/AgoraMediaBase-ti.js +1 -1
- package/js/Private/ti/IAgoraH265Transcoder-ti.js +40 -0
- package/js/Private/ti/IAgoraMediaPlayerSource-ti.js +4 -2
- package/js/Private/ti/IAgoraMusicContentCenter-ti.js +5 -5
- package/js/Private/ti/IAgoraRtcEngine-ti.js +12 -11
- package/js/Renderer/AgoraView.js +28 -14
- package/js/Renderer/IRenderer.js +65 -17
- package/js/Renderer/IRendererManager.js +230 -0
- package/js/Renderer/RendererCache.js +170 -0
- package/js/Renderer/RendererManager.js +49 -460
- package/js/Renderer/WebGLRenderer/index.js +82 -234
- package/js/Renderer/YUVCanvasRenderer/index.js +27 -147
- package/js/Types.js +6 -6
- package/js/Utils.js +37 -88
- package/package.json +4 -3
- package/scripts/clean.js +12 -0
- package/scripts/synclib.js +8 -2
- package/ts/Private/AgoraBase.ts +225 -201
- package/ts/Private/AgoraMediaBase.ts +63 -25
- package/ts/Private/AgoraMediaPlayerTypes.ts +67 -24
- package/ts/Private/IAgoraH265Transcoder.ts +73 -0
- package/ts/Private/IAgoraLog.ts +1 -0
- package/ts/Private/IAgoraMediaEngine.ts +12 -7
- package/ts/Private/IAgoraMediaPlayer.ts +47 -21
- package/ts/Private/IAgoraMediaPlayerSource.ts +27 -6
- package/ts/Private/IAgoraMediaStreamingSource.ts +38 -37
- package/ts/Private/IAgoraMusicContentCenter.ts +20 -20
- package/ts/Private/IAgoraRhythmPlayer.ts +7 -6
- package/ts/Private/IAgoraRtcEngine.ts +407 -364
- package/ts/Private/IAgoraRtcEngineEx.ts +25 -61
- package/ts/Private/IAgoraSpatialAudio.ts +80 -191
- package/ts/Private/IAudioDeviceManager.ts +27 -14
- package/ts/Private/extension/IAgoraH265TranscoderExtension.ts +39 -0
- package/ts/Private/impl/AgoraMediaBaseImpl.ts +25 -1
- package/ts/Private/impl/IAgoraH265TranscoderImpl.ts +152 -0
- package/ts/Private/impl/IAgoraMediaEngineImpl.ts +13 -13
- package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +110 -81
- package/ts/Private/impl/IAgoraMediaPlayerSourceImpl.ts +17 -2
- package/ts/Private/impl/IAgoraMediaRecorderImpl.ts +2 -2
- package/ts/Private/impl/IAgoraMusicContentCenterImpl.ts +21 -21
- package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +71 -106
- package/ts/Private/impl/IAgoraRtcEngineImpl.ts +589 -572
- package/ts/Private/impl/IAgoraSpatialAudioImpl.ts +211 -218
- package/ts/Private/impl/IAudioDeviceManagerImpl.ts +22 -22
- package/ts/Private/internal/AgoraH265TranscoderInternal.ts +97 -0
- package/ts/Private/internal/AgoraMediaBaseInternal.ts +15 -0
- package/ts/Private/internal/IrisApiEngine.ts +42 -27
- package/ts/Private/internal/LocalSpatialAudioEngineInternal.ts +1 -86
- package/ts/Private/internal/MediaPlayerInternal.ts +20 -29
- package/ts/Private/internal/MusicContentCenterInternal.ts +1 -5
- package/ts/Private/internal/RtcEngineExInternal.ts +91 -204
- package/ts/Private/ti/AgoraMediaBase-ti.ts +1 -1
- package/ts/Private/ti/IAgoraH265Transcoder-ti.ts +16 -0
- package/ts/Private/ti/IAgoraMediaPlayerSource-ti.ts +4 -2
- package/ts/Private/ti/IAgoraMusicContentCenter-ti.ts +5 -5
- package/ts/Private/ti/IAgoraRtcEngine-ti.ts +12 -11
- package/ts/Renderer/AgoraView.ts +29 -19
- package/ts/Renderer/IRenderer.ts +71 -22
- package/ts/Renderer/IRendererManager.ts +273 -19
- package/ts/Renderer/RendererCache.ts +167 -0
- package/ts/Renderer/RendererManager.ts +62 -607
- package/ts/Renderer/WebGLRenderer/index.ts +117 -295
- package/ts/Renderer/YUVCanvasRenderer/index.ts +45 -198
- package/ts/Types.ts +17 -194
- package/ts/Utils.ts +36 -100
- package/types/Private/AgoraBase.d.ts +219 -200
- package/types/Private/AgoraBase.d.ts.map +1 -1
- package/types/Private/AgoraMediaBase.d.ts +63 -27
- package/types/Private/AgoraMediaBase.d.ts.map +1 -1
- package/types/Private/AgoraMediaPlayerTypes.d.ts +65 -24
- package/types/Private/AgoraMediaPlayerTypes.d.ts.map +1 -1
- package/types/Private/IAgoraH265Transcoder.d.ts +28 -0
- package/types/Private/IAgoraH265Transcoder.d.ts.map +1 -0
- package/types/Private/IAgoraLog.d.ts.map +1 -1
- package/types/Private/IAgoraMediaEngine.d.ts +11 -6
- package/types/Private/IAgoraMediaEngine.d.ts.map +1 -1
- package/types/Private/IAgoraMediaPlayer.d.ts +42 -20
- package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -1
- package/types/Private/IAgoraMediaPlayerSource.d.ts +23 -6
- package/types/Private/IAgoraMediaPlayerSource.d.ts.map +1 -1
- package/types/Private/IAgoraMediaStreamingSource.d.ts.map +1 -1
- package/types/Private/IAgoraMusicContentCenter.d.ts +19 -19
- package/types/Private/IAgoraMusicContentCenter.d.ts.map +1 -1
- package/types/Private/IAgoraRhythmPlayer.d.ts +6 -6
- package/types/Private/IAgoraRhythmPlayer.d.ts.map +1 -1
- package/types/Private/IAgoraRtcEngine.d.ts +329 -293
- package/types/Private/IAgoraRtcEngine.d.ts.map +1 -1
- package/types/Private/IAgoraRtcEngineEx.d.ts +21 -53
- package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -1
- package/types/Private/IAgoraSpatialAudio.d.ts +56 -167
- package/types/Private/IAgoraSpatialAudio.d.ts.map +1 -1
- package/types/Private/IAudioDeviceManager.d.ts +27 -14
- package/types/Private/IAudioDeviceManager.d.ts.map +1 -1
- package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts +24 -0
- package/types/Private/extension/IAgoraH265TranscoderExtension.d.ts.map +1 -0
- package/types/Private/impl/AgoraMediaBaseImpl.d.ts +5 -1
- package/types/Private/impl/AgoraMediaBaseImpl.d.ts.map +1 -1
- package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts +15 -0
- package/types/Private/impl/IAgoraH265TranscoderImpl.d.ts.map +1 -0
- package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts +6 -4
- package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +1 -1
- package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +1 -1
- package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts +2 -4
- package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -1
- package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +30 -25
- package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -1
- package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts +20 -22
- package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +1 -1
- package/types/Private/internal/AgoraH265TranscoderInternal.d.ts +14 -0
- package/types/Private/internal/AgoraH265TranscoderInternal.d.ts.map +1 -0
- package/types/Private/internal/AgoraMediaBaseInternal.d.ts +8 -0
- package/types/Private/internal/AgoraMediaBaseInternal.d.ts.map +1 -0
- package/types/Private/internal/IrisApiEngine.d.ts +5 -2
- package/types/Private/internal/IrisApiEngine.d.ts.map +1 -1
- package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts +0 -15
- package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +1 -1
- package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -1
- package/types/Private/internal/MusicContentCenterInternal.d.ts +0 -1
- package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -1
- package/types/Private/internal/RtcEngineExInternal.d.ts +7 -13
- package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
- package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts +8 -0
- package/types/Private/ti/IAgoraH265Transcoder-ti.d.ts.map +1 -0
- package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +1 -1
- package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -1
- package/types/Renderer/AgoraView.d.ts +4 -4
- package/types/Renderer/AgoraView.d.ts.map +1 -1
- package/types/Renderer/IRenderer.d.ts +11 -9
- package/types/Renderer/IRenderer.d.ts.map +1 -1
- package/types/Renderer/IRendererManager.d.ts +50 -12
- package/types/Renderer/IRendererManager.d.ts.map +1 -1
- package/types/Renderer/RendererCache.d.ts +36 -0
- package/types/Renderer/RendererCache.d.ts.map +1 -0
- package/types/Renderer/RendererManager.d.ts +13 -139
- package/types/Renderer/RendererManager.d.ts.map +1 -1
- package/types/Renderer/WebGLRenderer/index.d.ts +3 -18
- package/types/Renderer/WebGLRenderer/index.d.ts.map +1 -1
- package/types/Renderer/YUVCanvasRenderer/index.d.ts +4 -10
- package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -1
- package/types/Types.d.ts +11 -187
- package/types/Types.d.ts.map +1 -1
- package/types/Utils.d.ts +3 -20
- package/types/Utils.d.ts.map +1 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import './extension/IAgoraRtcEngineExtension';
|
|
2
|
-
import { AudienceLatencyLevelType, AudioAinsMode, AudioEffectPreset, AudioEncodedFrameObserverConfig, AudioProfileType, AudioRecordingConfiguration, AudioSampleRateType, AudioScenarioType, AudioSessionOperationRestriction, AudioVolumeInfo, BeautyOptions, CaptureBrightnessLevelType, ChannelMediaRelayConfiguration, ChannelMediaRelayError,
|
|
2
|
+
import { AudienceLatencyLevelType, AudioAinsMode, AudioEffectPreset, AudioEncodedFrameObserverConfig, AudioProfileType, AudioRecordingConfiguration, AudioSampleRateType, AudioScenarioType, AudioSessionOperationRestriction, AudioVolumeInfo, BeautyOptions, CaptureBrightnessLevelType, ChannelMediaRelayConfiguration, ChannelMediaRelayError, ChannelMediaRelayState, ChannelProfileType, ClientRoleChangeFailedReason, ClientRoleOptions, ClientRoleType, CodecCapInfo, ColorEnhanceOptions, ConnectionChangedReasonType, ConnectionStateType, DataStreamConfig, DeviceInfo, DownlinkNetworkInfo, EarMonitoringFilterType, EchoTestConfiguration, EncryptionConfig, EncryptionErrorType, ErrorCodeType, HeadphoneEqualizerPreset, IAudioEncodedFrameObserver, LastmileProbeConfig, LastmileProbeResult, LicenseErrorType, LiveTranscoding, LocalAccessPointConfiguration, LocalAudioStats, LocalAudioStreamReason, LocalAudioStreamState, LocalTranscoderConfiguration, LocalVideoStreamReason, LocalVideoStreamState, LowlightEnhanceOptions, MediaTraceEvent, NetworkType, PermissionType, QualityAdaptIndication, QualityType, RecorderStreamInfo, Rectangle, RemoteAudioState, RemoteAudioStateReason, RemoteVideoState, RemoteVideoStateReason, RtcStats, RtmpStreamPublishReason, RtmpStreamPublishState, RtmpStreamingEvent, ScreenCaptureParameters, ScreenCaptureParameters2, ScreenScenarioType, SegmentationProperty, SenderOptions, SimulcastStreamConfig, SimulcastStreamMode, SpatialAudioParams, StreamPublishState, StreamSubscribeState, ThreadPriorityType, TranscodingVideoStream, UplinkNetworkInfo, UploadErrorReason, UserInfo, UserOfflineReasonType, VideoApplicationScenarioType, VideoCanvas, VideoCodecType, VideoContentHint, VideoDenoiserOptions, VideoEncoderConfiguration, VideoFormat, VideoLayout, VideoMirrorModeType, VideoOrientation, VideoQoePreferenceType, VideoRenderingTracingInfo, VideoStreamType, VideoSubscriptionOptions, VideoTranscoderError, VirtualBackgroundSource, VoiceBeautifierPreset, VoiceConversionPreset, WatermarkOptions, WlAccStats, WlaccMessageReason, WlaccSuggestAction } from './AgoraBase';
|
|
3
3
|
import { ContentInspectConfig, ContentInspectResult, IAudioSpectrumObserver, MediaSourceType, RawAudioFrameOpModeType, RenderModeType, VideoSourceType } from './AgoraMediaBase';
|
|
4
|
+
import { IH265Transcoder } from './IAgoraH265Transcoder';
|
|
4
5
|
import { LogConfig, LogFilterType, LogLevel } from './IAgoraLog';
|
|
5
6
|
import { AudioMixingDualMonoMode, IMediaEngine } from './IAgoraMediaEngine';
|
|
6
7
|
import { IMediaPlayer } from './IAgoraMediaPlayer';
|
|
7
8
|
import { IMediaRecorder } from './IAgoraMediaRecorder';
|
|
8
9
|
import { IMusicContentCenter } from './IAgoraMusicContentCenter';
|
|
9
|
-
import { AgoraRhythmPlayerConfig,
|
|
10
|
+
import { AgoraRhythmPlayerConfig, RhythmPlayerReason, RhythmPlayerStateType } from './IAgoraRhythmPlayer';
|
|
10
11
|
import { RtcConnection } from './IAgoraRtcEngineEx';
|
|
11
12
|
import { ILocalSpatialAudioEngine } from './IAgoraSpatialAudio';
|
|
12
13
|
import { IAudioDeviceManager } from './IAudioDeviceManager';
|
|
@@ -976,6 +977,10 @@ export declare class ChannelMediaOptions {
|
|
|
976
977
|
* Whether to publish the local transcoded video: true : Publish the local transcoded video. false : Do not publish the local transcoded video.
|
|
977
978
|
*/
|
|
978
979
|
publishTranscodedVideoTrack?: boolean;
|
|
980
|
+
/**
|
|
981
|
+
* @ignore
|
|
982
|
+
*/
|
|
983
|
+
publishMixedAudioTrack?: boolean;
|
|
979
984
|
/**
|
|
980
985
|
* Whether to automatically subscribe to all remote audio streams when the user joins a channel: true : Subscribe to all remote audio streams. false : Do not automatically subscribe to any remote audio streams.
|
|
981
986
|
*/
|
|
@@ -1110,6 +1115,10 @@ export declare class LeaveChannelOptions {
|
|
|
1110
1115
|
}
|
|
1111
1116
|
/**
|
|
1112
1117
|
* The SDK uses the IRtcEngineEventHandler interface to send event notifications to your app. Your app can get those notifications through methods that inherit this interface.
|
|
1118
|
+
*
|
|
1119
|
+
* All methods in this interface have default (empty) implementation. You can choose to inherit events related to your app scenario.
|
|
1120
|
+
* In the callbacks, avoid implementing time-consuming tasks or calling APIs that may cause thread blocking (such as sendMessage). Otherwise, the SDK may not work properly.
|
|
1121
|
+
* The SDK no longer catches exceptions in the code logic that developers implement themselves in IRtcEngineEventHandler class. You need to handle this exception yourself, otherwise the app may crash when the exception occurs.
|
|
1113
1122
|
*/
|
|
1114
1123
|
export interface IRtcEngineEventHandler {
|
|
1115
1124
|
/**
|
|
@@ -1146,7 +1155,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1146
1155
|
/**
|
|
1147
1156
|
* Reports an error during SDK runtime.
|
|
1148
1157
|
*
|
|
1149
|
-
* This callback indicates that an error (concerning network or media) occurs during SDK runtime. In most cases, the SDK cannot fix the issue and resume running. The SDK requires the
|
|
1158
|
+
* This callback indicates that an error (concerning network or media) occurs during SDK runtime. In most cases, the SDK cannot fix the issue and resume running. The SDK requires the app to take action or informs the user about the issue.
|
|
1150
1159
|
*
|
|
1151
1160
|
* @param err Error code. See ErrorCodeType.
|
|
1152
1161
|
* @param msg The error message.
|
|
@@ -1189,7 +1198,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1189
1198
|
/**
|
|
1190
1199
|
* Occurs when a user leaves a channel.
|
|
1191
1200
|
*
|
|
1192
|
-
* This callback notifies the app that the user leaves the channel by calling leaveChannel. From this callback, the app can get information such as the call duration and
|
|
1201
|
+
* This callback notifies the app that the user leaves the channel by calling leaveChannel. From this callback, the app can get information such as the call duration and statistics.
|
|
1193
1202
|
*
|
|
1194
1203
|
* @param connection The connection information. See RtcConnection.
|
|
1195
1204
|
* @param stats The statistics of the call. See RtcStats.
|
|
@@ -1211,7 +1220,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1211
1220
|
*
|
|
1212
1221
|
* @param deviceId The device ID.
|
|
1213
1222
|
* @param deviceType The device type. See MediaDeviceType.
|
|
1214
|
-
* @param deviceState
|
|
1223
|
+
* @param deviceState The device state. See MediaDeviceStateType.
|
|
1215
1224
|
*/
|
|
1216
1225
|
onAudioDeviceStateChanged?(deviceId: string, deviceType: MediaDeviceType, deviceState: MediaDeviceStateType): void;
|
|
1217
1226
|
/**
|
|
@@ -1247,7 +1256,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1247
1256
|
*
|
|
1248
1257
|
* @param deviceId The device ID.
|
|
1249
1258
|
* @param deviceType Media device types. See MediaDeviceType.
|
|
1250
|
-
* @param deviceState Media device states.
|
|
1259
|
+
* @param deviceState Media device states. See MediaDeviceStateType.
|
|
1251
1260
|
*/
|
|
1252
1261
|
onVideoDeviceStateChanged?(deviceId: string, deviceType: MediaDeviceType, deviceState: MediaDeviceStateType): void;
|
|
1253
1262
|
/**
|
|
@@ -1316,7 +1325,6 @@ export interface IRtcEngineEventHandler {
|
|
|
1316
1325
|
* The remote user stops sending the video stream and re-sends it after 15 seconds. Reasons for such an interruption include:
|
|
1317
1326
|
* The remote user leaves the channel.
|
|
1318
1327
|
* The remote user drops offline.
|
|
1319
|
-
* The remote user calls muteLocalVideoStream to stop sending the video stream.
|
|
1320
1328
|
* The remote user calls disableVideo to disable video.
|
|
1321
1329
|
*
|
|
1322
1330
|
* @param connection The connection information. See RtcConnection.
|
|
@@ -1340,15 +1348,15 @@ export interface IRtcEngineEventHandler {
|
|
|
1340
1348
|
/**
|
|
1341
1349
|
* Occurs when the local video stream state changes.
|
|
1342
1350
|
*
|
|
1343
|
-
* When the state of the local video stream changes (including the state of the video capture and encoding), the SDK triggers this callback to report the current state. This callback indicates the state of the local video stream, including camera capturing and video encoding, and allows you to troubleshoot issues when exceptions occur. The SDK triggers the onLocalVideoStateChanged callback with the state code of LocalVideoStreamStateFailed and error code of
|
|
1351
|
+
* When the state of the local video stream changes (including the state of the video capture and encoding), the SDK triggers this callback to report the current state. This callback indicates the state of the local video stream, including camera capturing and video encoding, and allows you to troubleshoot issues when exceptions occur. The SDK triggers the onLocalVideoStateChanged callback with the state code of LocalVideoStreamStateFailed and error code of LocalVideoStreamReasonCaptureFailure in the following situations:
|
|
1344
1352
|
* The app switches to the background, and the system gets the camera resource.
|
|
1345
|
-
* The camera starts normally, but does not output video frames for four consecutive seconds. When the camera outputs the captured video frames, if the video frames are the same for 15 consecutive frames, the SDK triggers the onLocalVideoStateChanged callback with the state code of LocalVideoStreamStateCapturing and error code of
|
|
1353
|
+
* The camera starts normally, but does not output video frames for four consecutive seconds. When the camera outputs the captured video frames, if the video frames are the same for 15 consecutive frames, the SDK triggers the onLocalVideoStateChanged callback with the state code of LocalVideoStreamStateCapturing and error code of LocalVideoStreamReasonCaptureFailure. Note that the video frame duplication detection is only available for video frames with a resolution greater than 200 × 200, a frame rate greater than or equal to 10 fps, and a bitrate less than 20 Kbps. For some device models, the SDK does not trigger this callback when the state of the local video changes while the local video capturing device is in use, so you have to make your own timeout judgment.
|
|
1346
1354
|
*
|
|
1347
1355
|
* @param source The type of the video source. See VideoSourceType.
|
|
1348
1356
|
* @param state The state of the local video, see LocalVideoStreamState.
|
|
1349
|
-
* @param
|
|
1357
|
+
* @param reason The reasons for changes in local video state. See LocalVideoStreamReason.
|
|
1350
1358
|
*/
|
|
1351
|
-
onLocalVideoStateChanged?(source: VideoSourceType, state: LocalVideoStreamState,
|
|
1359
|
+
onLocalVideoStateChanged?(source: VideoSourceType, state: LocalVideoStreamState, reason: LocalVideoStreamReason): void;
|
|
1352
1360
|
/**
|
|
1353
1361
|
* Occurs when the remote video stream state changes.
|
|
1354
1362
|
*
|
|
@@ -1442,23 +1450,23 @@ export interface IRtcEngineEventHandler {
|
|
|
1442
1450
|
*/
|
|
1443
1451
|
onUserEnableLocalVideo?(connection: RtcConnection, remoteUid: number, enabled: boolean): void;
|
|
1444
1452
|
/**
|
|
1445
|
-
* Reports the statistics of
|
|
1453
|
+
* Reports the transport-layer statistics of each remote audio stream.
|
|
1446
1454
|
*
|
|
1447
|
-
* The SDK triggers this callback once every two seconds.
|
|
1455
|
+
* The SDK triggers this callback once every two seconds for each remote user who is sending audio streams. If a channel includes multiple remote users, the SDK triggers this callback as many times.
|
|
1448
1456
|
*
|
|
1449
1457
|
* @param connection The connection information. See RtcConnection.
|
|
1450
|
-
* @param stats
|
|
1458
|
+
* @param stats The statistics of the received remote audio streams. See RemoteAudioStats.
|
|
1451
1459
|
*/
|
|
1452
|
-
|
|
1460
|
+
onRemoteAudioStats?(connection: RtcConnection, stats: RemoteAudioStats): void;
|
|
1453
1461
|
/**
|
|
1454
|
-
* Reports the
|
|
1462
|
+
* Reports the statistics of the local audio stream.
|
|
1455
1463
|
*
|
|
1456
|
-
* The SDK triggers this callback once every two seconds
|
|
1464
|
+
* The SDK triggers this callback once every two seconds.
|
|
1457
1465
|
*
|
|
1458
1466
|
* @param connection The connection information. See RtcConnection.
|
|
1459
|
-
* @param stats
|
|
1467
|
+
* @param stats Local audio statistics. See LocalAudioStats.
|
|
1460
1468
|
*/
|
|
1461
|
-
|
|
1469
|
+
onLocalAudioStats?(connection: RtcConnection, stats: LocalAudioStats): void;
|
|
1462
1470
|
/**
|
|
1463
1471
|
* Reports the statistics of the local video stream.
|
|
1464
1472
|
*
|
|
@@ -1513,7 +1521,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1513
1521
|
/**
|
|
1514
1522
|
* @ignore
|
|
1515
1523
|
*/
|
|
1516
|
-
onRhythmPlayerStateChanged?(state: RhythmPlayerStateType,
|
|
1524
|
+
onRhythmPlayerStateChanged?(state: RhythmPlayerStateType, reason: RhythmPlayerReason): void;
|
|
1517
1525
|
/**
|
|
1518
1526
|
* Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the server is interrupted.
|
|
1519
1527
|
*
|
|
@@ -1561,7 +1569,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1561
1569
|
* @param connection The connection information. See RtcConnection.
|
|
1562
1570
|
* @param uid The ID of the remote user sending the message.
|
|
1563
1571
|
* @param streamId The stream ID of the received message.
|
|
1564
|
-
* @param code The error code.
|
|
1572
|
+
* @param code ErrorCodeType The error code.
|
|
1565
1573
|
* @param missed The number of lost messages.
|
|
1566
1574
|
* @param cached Number of incoming cached messages when the data stream is interrupted.
|
|
1567
1575
|
*/
|
|
@@ -1601,16 +1609,6 @@ export interface IRtcEngineEventHandler {
|
|
|
1601
1609
|
* @param elapsed Time elapsed (ms) from the local user calling joinChannel until the SDK triggers this callback.
|
|
1602
1610
|
*/
|
|
1603
1611
|
onFirstLocalAudioFramePublished?(connection: RtcConnection, elapsed: number): void;
|
|
1604
|
-
/**
|
|
1605
|
-
* Occurs when the SDK receives the first audio frame from a specific remote user.
|
|
1606
|
-
*
|
|
1607
|
-
* Deprecated: Use onRemoteAudioStateChanged instead.
|
|
1608
|
-
*
|
|
1609
|
-
* @param connection The connection information. See RtcConnection.
|
|
1610
|
-
* @param userId The user ID of the remote user.
|
|
1611
|
-
* @param elapsed The time elapsed (ms) from the local user calling joinChannel until the SDK triggers this callback.
|
|
1612
|
-
*/
|
|
1613
|
-
onFirstRemoteAudioFrame?(connection: RtcConnection, userId: number, elapsed: number): void;
|
|
1614
1612
|
/**
|
|
1615
1613
|
* Occurs when the SDK decodes the first remote audio frame for playback.
|
|
1616
1614
|
*
|
|
@@ -1627,6 +1625,16 @@ export interface IRtcEngineEventHandler {
|
|
|
1627
1625
|
* @param elapsed The time elapsed (ms) from the local user calling joinChannel until the SDK triggers this callback.
|
|
1628
1626
|
*/
|
|
1629
1627
|
onFirstRemoteAudioDecoded?(connection: RtcConnection, uid: number, elapsed: number): void;
|
|
1628
|
+
/**
|
|
1629
|
+
* Occurs when the SDK receives the first audio frame from a specific remote user.
|
|
1630
|
+
*
|
|
1631
|
+
* Deprecated: Use onRemoteAudioStateChanged instead.
|
|
1632
|
+
*
|
|
1633
|
+
* @param connection The connection information. See RtcConnection.
|
|
1634
|
+
* @param userId The user ID of the remote user.
|
|
1635
|
+
* @param elapsed The time elapsed (ms) from the local user calling joinChannel until the SDK triggers this callback.
|
|
1636
|
+
*/
|
|
1637
|
+
onFirstRemoteAudioFrame?(connection: RtcConnection, userId: number, elapsed: number): void;
|
|
1630
1638
|
/**
|
|
1631
1639
|
* Occurs when the local audio stream state changes.
|
|
1632
1640
|
*
|
|
@@ -1634,9 +1642,9 @@ export interface IRtcEngineEventHandler {
|
|
|
1634
1642
|
*
|
|
1635
1643
|
* @param connection The connection information. See RtcConnection.
|
|
1636
1644
|
* @param state The state of the local audio. See LocalAudioStreamState.
|
|
1637
|
-
* @param
|
|
1645
|
+
* @param reason Reasons for local audio state changes. See LocalAudioStreamReason.
|
|
1638
1646
|
*/
|
|
1639
|
-
onLocalAudioStateChanged?(connection: RtcConnection, state: LocalAudioStreamState,
|
|
1647
|
+
onLocalAudioStateChanged?(connection: RtcConnection, state: LocalAudioStreamState, reason: LocalAudioStreamReason): void;
|
|
1640
1648
|
/**
|
|
1641
1649
|
* Occurs when the remote audio state changes.
|
|
1642
1650
|
*
|
|
@@ -1706,7 +1714,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1706
1714
|
/**
|
|
1707
1715
|
* Reports the volume change of the audio device or app.
|
|
1708
1716
|
*
|
|
1709
|
-
* Occurs when the volume on the playback device, audio capture device, or the volume
|
|
1717
|
+
* Occurs when the volume on the playback device, audio capture device, or the volume of the app changes.
|
|
1710
1718
|
*
|
|
1711
1719
|
* @param deviceType The device type. See MediaDeviceType.
|
|
1712
1720
|
* @param volume The volume value. The range is [0, 255].
|
|
@@ -1720,9 +1728,9 @@ export interface IRtcEngineEventHandler {
|
|
|
1720
1728
|
*
|
|
1721
1729
|
* @param url The URL address where the state of the Media Push changes.
|
|
1722
1730
|
* @param state The current state of the Media Push. See RtmpStreamPublishState.
|
|
1723
|
-
* @param
|
|
1731
|
+
* @param reason Reasons for the changes in the Media Push status. See RtmpStreamPublishReason.
|
|
1724
1732
|
*/
|
|
1725
|
-
onRtmpStreamingStateChanged?(url: string, state: RtmpStreamPublishState,
|
|
1733
|
+
onRtmpStreamingStateChanged?(url: string, state: RtmpStreamPublishState, reason: RtmpStreamPublishReason): void;
|
|
1726
1734
|
/**
|
|
1727
1735
|
* Reports events during the Media Push.
|
|
1728
1736
|
*
|
|
@@ -1733,7 +1741,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1733
1741
|
/**
|
|
1734
1742
|
* Occurs when the publisher's transcoding is updated.
|
|
1735
1743
|
*
|
|
1736
|
-
* When the LiveTranscoding class in the method updates, the SDK triggers the onTranscodingUpdated callback to report the update information. If you call the method to set the LiveTranscoding class for the first time, the SDK does not trigger this callback.
|
|
1744
|
+
* When the LiveTranscoding class in the startRtmpStreamWithTranscoding method updates, the SDK triggers the onTranscodingUpdated callback to report the update information. If you call the startRtmpStreamWithTranscoding method to set the LiveTranscoding class for the first time, the SDK does not trigger this callback.
|
|
1737
1745
|
*/
|
|
1738
1746
|
onTranscodingUpdated?(): void;
|
|
1739
1747
|
/**
|
|
@@ -1760,20 +1768,19 @@ export interface IRtcEngineEventHandler {
|
|
|
1760
1768
|
* @param code The error code of the channel media relay. See ChannelMediaRelayError.
|
|
1761
1769
|
*/
|
|
1762
1770
|
onChannelMediaRelayStateChanged?(state: ChannelMediaRelayState, code: ChannelMediaRelayError): void;
|
|
1763
|
-
/**
|
|
1764
|
-
* Reports events during the media stream relay.
|
|
1765
|
-
*
|
|
1766
|
-
* Deprecated: This callback is deprecated.
|
|
1767
|
-
*
|
|
1768
|
-
* @param code The event code of channel media relay. See ChannelMediaRelayEvent.
|
|
1769
|
-
*/
|
|
1770
|
-
onChannelMediaRelayEvent?(code: ChannelMediaRelayEvent): void;
|
|
1771
1771
|
/**
|
|
1772
1772
|
* @ignore
|
|
1773
1773
|
*/
|
|
1774
1774
|
onLocalPublishFallbackToAudioOnly?(isFallbackOrRecover: boolean): void;
|
|
1775
1775
|
/**
|
|
1776
|
-
*
|
|
1776
|
+
* Occurs when the remote media stream falls back to the audio-only stream due to poor network conditions or switches back to the video stream after the network conditions improve.
|
|
1777
|
+
*
|
|
1778
|
+
* If you call setRemoteSubscribeFallbackOption and set option to StreamFallbackOptionAudioOnly, the SDK triggers this callback in the following situations:
|
|
1779
|
+
* The downstream network condition is poor, and the subscribed video stream is downgraded to audio-only stream.
|
|
1780
|
+
* The downstream network condition has improved, and the subscribed stream has been restored to video stream. Once the remote media stream switches to the low-quality video stream due to weak network conditions, you can monitor the stream switch between a high-quality and low-quality stream in the onRemoteVideoStats callback.
|
|
1781
|
+
*
|
|
1782
|
+
* @param uid The user ID of the remote user.
|
|
1783
|
+
* @param isFallbackOrRecover true : The subscribed media stream falls back to audio-only due to poor network conditions. false : The subscribed media stream switches back to the video stream after the network conditions improve.
|
|
1777
1784
|
*/
|
|
1778
1785
|
onRemoteSubscribeFallbackToAudioOnly?(uid: number, isFallbackOrRecover: boolean): void;
|
|
1779
1786
|
/**
|
|
@@ -1862,6 +1869,30 @@ export interface IRtcEngineEventHandler {
|
|
|
1862
1869
|
* @param info The UserInfo object that contains the user ID and user account of the remote user. See UserInfo for details.
|
|
1863
1870
|
*/
|
|
1864
1871
|
onUserInfoUpdated?(uid: number, info: UserInfo): void;
|
|
1872
|
+
/**
|
|
1873
|
+
* @ignore
|
|
1874
|
+
*/
|
|
1875
|
+
onUserAccountUpdated?(connection: RtcConnection, remoteUid: number, remoteUserAccount: string): void;
|
|
1876
|
+
/**
|
|
1877
|
+
* Video frame rendering event callback.
|
|
1878
|
+
*
|
|
1879
|
+
* After calling the startMediaRenderingTracing method or joining the channel, the SDK triggers this callback to report the events of video frame rendering and the indicators during the rendering process. Developers can optimize the indicators to improve the efficiency of the first video frame rendering.
|
|
1880
|
+
*
|
|
1881
|
+
* @param connection The connection information. See RtcConnection.
|
|
1882
|
+
* @param uid The user ID.
|
|
1883
|
+
* @param currentEvent The current video frame rendering event. See MediaTraceEvent.
|
|
1884
|
+
* @param tracingInfo The indicators during the video frame rendering process. Developers need to reduce the value of indicators as much as possible in order to improve the efficiency of the first video frame rendering. See VideoRenderingTracingInfo.
|
|
1885
|
+
*/
|
|
1886
|
+
onVideoRenderingTracingResult?(connection: RtcConnection, uid: number, currentEvent: MediaTraceEvent, tracingInfo: VideoRenderingTracingInfo): void;
|
|
1887
|
+
/**
|
|
1888
|
+
* Occurs when there's an error during the local video mixing.
|
|
1889
|
+
*
|
|
1890
|
+
* When you fail to call startLocalVideoTranscoder or updateLocalTranscoderConfiguration, the SDK triggers this callback to report the reason.
|
|
1891
|
+
*
|
|
1892
|
+
* @param stream The video streams that cannot be mixed during video mixing. See TranscodingVideoStream.
|
|
1893
|
+
* @param error The reason for local video mixing error. See VideoTranscoderError.
|
|
1894
|
+
*/
|
|
1895
|
+
onLocalVideoTranscoderError?(stream: TranscodingVideoStream, error: VideoTranscoderError): void;
|
|
1865
1896
|
/**
|
|
1866
1897
|
* @ignore
|
|
1867
1898
|
*/
|
|
@@ -1905,6 +1936,10 @@ export interface IRtcEngineEventHandler {
|
|
|
1905
1936
|
* @param elapseSinceLastState The time elapsed (ms) from the previous state to the current state.
|
|
1906
1937
|
*/
|
|
1907
1938
|
onVideoPublishStateChanged?(source: VideoSourceType, channel: string, oldState: StreamPublishState, newState: StreamPublishState, elapseSinceLastState: number): void;
|
|
1939
|
+
/**
|
|
1940
|
+
* @ignore
|
|
1941
|
+
*/
|
|
1942
|
+
onTranscodedStreamLayoutInfo?(connection: RtcConnection, uid: number, width: number, height: number, layoutCount: number, layoutlist: VideoLayout[]): void;
|
|
1908
1943
|
/**
|
|
1909
1944
|
* The event callback of the extension.
|
|
1910
1945
|
*
|
|
@@ -1948,27 +1983,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1948
1983
|
/**
|
|
1949
1984
|
* @ignore
|
|
1950
1985
|
*/
|
|
1951
|
-
|
|
1952
|
-
/**
|
|
1953
|
-
* Occurs when there's an error during the local video mixing.
|
|
1954
|
-
*
|
|
1955
|
-
* When you fail to call startLocalVideoTranscoder or updateLocalTranscoderConfiguration, the SDK triggers this callback to report the reason.
|
|
1956
|
-
*
|
|
1957
|
-
* @param stream The video streams that cannot be mixed during video mixing. See TranscodingVideoStream.
|
|
1958
|
-
* @param error The reason for local video mixing error. See VideoTranscoderError.
|
|
1959
|
-
*/
|
|
1960
|
-
onLocalVideoTranscoderError?(stream: TranscodingVideoStream, error: VideoTranscoderError): void;
|
|
1961
|
-
/**
|
|
1962
|
-
* Video frame rendering event callback.
|
|
1963
|
-
*
|
|
1964
|
-
* After calling the startMediaRenderingTracing method or joining the channel, the SDK triggers this callback to report the events of video frame rendering and the indicators during the rendering process. Developers can optimize the indicators to improve the efficiency of the first video frame rendering.
|
|
1965
|
-
*
|
|
1966
|
-
* @param connection The connection information. See RtcConnection.
|
|
1967
|
-
* @param uid The user ID.
|
|
1968
|
-
* @param currentEvent The current video frame rendering event. See MediaTraceEvent.
|
|
1969
|
-
* @param tracingInfo The indicators during the video frame rendering process. Developers need to reduce the value of indicators as much as possible in order to improve the efficiency of the first video frame rendering. See VideoRenderingTracingInfo.
|
|
1970
|
-
*/
|
|
1971
|
-
onVideoRenderingTracingResult?(connection: RtcConnection, uid: number, currentEvent: MediaTraceEvent, tracingInfo: VideoRenderingTracingInfo): void;
|
|
1986
|
+
onSetRtmFlagResult?(connection: RtcConnection, code: number): void;
|
|
1972
1987
|
}
|
|
1973
1988
|
/**
|
|
1974
1989
|
* Video device management methods.
|
|
@@ -2055,7 +2070,7 @@ export declare class RtcEngineContext {
|
|
|
2055
2070
|
*/
|
|
2056
2071
|
license?: string;
|
|
2057
2072
|
/**
|
|
2058
|
-
* The audio scenarios.
|
|
2073
|
+
* The audio scenarios. Under different audio scenarios, the device uses different volume types. See AudioScenarioType.
|
|
2059
2074
|
*/
|
|
2060
2075
|
audioScenario?: AudioScenarioType;
|
|
2061
2076
|
/**
|
|
@@ -2065,7 +2080,7 @@ export declare class RtcEngineContext {
|
|
|
2065
2080
|
/**
|
|
2066
2081
|
* The SDK log files are: agorasdk.log, agorasdk.1.log, agorasdk.2.log, agorasdk.3.log, and agorasdk.4.log.
|
|
2067
2082
|
* The API call log files are: agoraapi.log, agoraapi.1.log, agoraapi.2.log, agoraapi.3.log, and agoraapi.4.log.
|
|
2068
|
-
* The default size
|
|
2083
|
+
* The default size of each SDK log file and API log file is 2,048 KB. These log files are encoded in UTF-8.
|
|
2069
2084
|
* The SDK writes the latest logs in agorasdk.log or agoraapi.log.
|
|
2070
2085
|
* When agorasdk.log is full, the SDK processes the log files in the following order:
|
|
2071
2086
|
* Delete the agorasdk.4.log file (if any).
|
|
@@ -2158,33 +2173,33 @@ export interface IMetadataObserver {
|
|
|
2158
2173
|
onMetadataReceived?(metadata: Metadata): void;
|
|
2159
2174
|
}
|
|
2160
2175
|
/**
|
|
2161
|
-
*
|
|
2176
|
+
* Reasons for the changes in CDN streaming status.
|
|
2162
2177
|
*/
|
|
2163
|
-
export declare enum
|
|
2178
|
+
export declare enum DirectCdnStreamingReason {
|
|
2164
2179
|
/**
|
|
2165
2180
|
* 0: No error.
|
|
2166
2181
|
*/
|
|
2167
|
-
|
|
2182
|
+
DirectCdnStreamingReasonOk = 0,
|
|
2168
2183
|
/**
|
|
2169
2184
|
* 1: A general error; no specific reason. You can try to push the media stream again.
|
|
2170
2185
|
*/
|
|
2171
|
-
|
|
2186
|
+
DirectCdnStreamingReasonFailed = 1,
|
|
2172
2187
|
/**
|
|
2173
2188
|
* 2: An error occurs when pushing audio streams. For example, the local audio capture device is not working properly, is occupied by another process, or does not get the permission required.
|
|
2174
2189
|
*/
|
|
2175
|
-
|
|
2190
|
+
DirectCdnStreamingReasonAudioPublication = 2,
|
|
2176
2191
|
/**
|
|
2177
2192
|
* 3: An error occurs when pushing video streams. For example, the local video capture device is not working properly, is occupied by another process, or does not get the permission required.
|
|
2178
2193
|
*/
|
|
2179
|
-
|
|
2194
|
+
DirectCdnStreamingReasonVideoPublication = 3,
|
|
2180
2195
|
/**
|
|
2181
2196
|
* 4: Fails to connect to the CDN.
|
|
2182
2197
|
*/
|
|
2183
|
-
|
|
2198
|
+
DirectCdnStreamingReasonNetConnect = 4,
|
|
2184
2199
|
/**
|
|
2185
2200
|
* 5: The URL is already being used. Use a new URL for streaming.
|
|
2186
2201
|
*/
|
|
2187
|
-
|
|
2202
|
+
DirectCdnStreamingReasonBadName = 5
|
|
2188
2203
|
}
|
|
2189
2204
|
/**
|
|
2190
2205
|
* The current CDN streaming state.
|
|
@@ -2246,10 +2261,10 @@ export interface IDirectCdnStreamingEventHandler {
|
|
|
2246
2261
|
* When the host directly pushes streams to the CDN, if the streaming state changes, the SDK triggers this callback to report the changed streaming state, error codes, and other information. You can troubleshoot issues by referring to this callback.
|
|
2247
2262
|
*
|
|
2248
2263
|
* @param state The current CDN streaming state. See DirectCdnStreamingState.
|
|
2249
|
-
* @param
|
|
2264
|
+
* @param reason Reasons for changes in the status of CDN streaming. See DirectCdnStreamingReason.
|
|
2250
2265
|
* @param message The information about the changed streaming state.
|
|
2251
2266
|
*/
|
|
2252
|
-
onDirectCdnStreamingStateChanged?(state: DirectCdnStreamingState,
|
|
2267
|
+
onDirectCdnStreamingStateChanged?(state: DirectCdnStreamingState, reason: DirectCdnStreamingReason, message: string): void;
|
|
2253
2268
|
/**
|
|
2254
2269
|
* Reports the CDN streaming statistics.
|
|
2255
2270
|
*
|
|
@@ -2319,16 +2334,6 @@ export declare class ExtensionInfo {
|
|
|
2319
2334
|
* IRtcEngine provides the main methods that your app can call. Before calling other APIs, you must call createAgoraRtcEngine to create an IRtcEngine object.
|
|
2320
2335
|
*/
|
|
2321
2336
|
export declare abstract class IRtcEngine {
|
|
2322
|
-
/**
|
|
2323
|
-
* Releases the IRtcEngine instance.
|
|
2324
|
-
*
|
|
2325
|
-
* This method releases all resources used by the Agora SDK. Use this method for apps in which users occasionally make voice or video calls. When users do not make calls, you can free up resources for other operations. After a successful method call, you can no longer use any method or callback in the SDK anymore. If you want to use the real-time communication functions again, you must call createAgoraRtcEngine and initialize to create a new IRtcEngine instance.
|
|
2326
|
-
* This method can be called synchronously. You need to wait for the resource of IRtcEngine to be released before performing other operations (for example, create a new IRtcEngine object). Therefore, Agora recommends calling this method in the child thread to avoid blocking the main thread.
|
|
2327
|
-
* Besides, Agora does not recommend you calling release in any callback of the SDK. Otherwise, the SDK cannot release the resources until the callbacks return results, which may result in a deadlock.
|
|
2328
|
-
*
|
|
2329
|
-
* @param sync Whether the method is called synchronously: true : Synchronous call. false : Asynchronous call. Currently this method only supports synchronous calls. Do not set this parameter to this value.
|
|
2330
|
-
*/
|
|
2331
|
-
abstract release(sync?: boolean): void;
|
|
2332
2337
|
/**
|
|
2333
2338
|
* Creates and initializes IRtcEngine.
|
|
2334
2339
|
*
|
|
@@ -2375,6 +2380,14 @@ export declare abstract class IRtcEngine {
|
|
|
2375
2380
|
codecInfo: CodecCapInfo[];
|
|
2376
2381
|
size: number;
|
|
2377
2382
|
};
|
|
2383
|
+
/**
|
|
2384
|
+
* Queries device score.
|
|
2385
|
+
*
|
|
2386
|
+
* @returns
|
|
2387
|
+
* >0: The method call succeeeds, the value is the current device's score, the range is [0,100], the larger the value, the stronger the device capability. Most devices are rated between 60 and 100.
|
|
2388
|
+
* < 0: Failure.
|
|
2389
|
+
*/
|
|
2390
|
+
abstract queryDeviceScore(): number;
|
|
2378
2391
|
/**
|
|
2379
2392
|
* Preloads a channel with token, channelId, and uid.
|
|
2380
2393
|
*
|
|
@@ -2424,7 +2437,7 @@ export declare abstract class IRtcEngine {
|
|
|
2424
2437
|
* All numeric characters: 0 to 9.
|
|
2425
2438
|
* Space
|
|
2426
2439
|
* "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
|
|
2427
|
-
* @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as
|
|
2440
|
+
* @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as null. Supported characters are (89 in total):
|
|
2428
2441
|
* The 26 lowercase English letters: a to z.
|
|
2429
2442
|
* The 26 uppercase English letters: A to Z.
|
|
2430
2443
|
* All numeric characters: 0 to 9.
|
|
@@ -2469,7 +2482,7 @@ export declare abstract class IRtcEngine {
|
|
|
2469
2482
|
* All numeric characters: 0 to 9.
|
|
2470
2483
|
* Space
|
|
2471
2484
|
* "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
|
|
2472
|
-
* @param uid The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit unsigned integer. The value range is 1 to 2 32 -1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the onJoinChannelSuccess callback. Your
|
|
2485
|
+
* @param uid The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit unsigned integer. The value range is 1 to 2 32 -1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the onJoinChannelSuccess callback. Your app must record and maintain the returned user ID, because the SDK does not do so.
|
|
2473
2486
|
* @param options The channel media options. See ChannelMediaOptions.
|
|
2474
2487
|
*
|
|
2475
2488
|
* @returns
|
|
@@ -2513,8 +2526,7 @@ export declare abstract class IRtcEngine {
|
|
|
2513
2526
|
/**
|
|
2514
2527
|
* Renews the token.
|
|
2515
2528
|
*
|
|
2516
|
-
* The SDK triggers the onTokenPrivilegeWillExpire callback.
|
|
2517
|
-
* The onConnectionStateChanged callback reports ConnectionChangedTokenExpired (9).
|
|
2529
|
+
* The SDK triggers the onTokenPrivilegeWillExpire callback. onConnectionStateChanged The ConnectionChangedTokenExpired callback reports (9).
|
|
2518
2530
|
*
|
|
2519
2531
|
* @param token The new token.
|
|
2520
2532
|
*
|
|
@@ -2619,7 +2631,7 @@ export declare abstract class IRtcEngine {
|
|
|
2619
2631
|
* Enables the local video preview and specifies the video source for the preview.
|
|
2620
2632
|
*
|
|
2621
2633
|
* You can call this method to enable local video preview. Call this method after the following:
|
|
2622
|
-
* Call
|
|
2634
|
+
* Call setupLocalVideo to initialize the local preview.
|
|
2623
2635
|
* Call enableVideo to enable the video module.
|
|
2624
2636
|
* The local preview enables the mirror mode by default.
|
|
2625
2637
|
* After the local video preview is enabled, if you call leaveChannel to exit the channel, the local preview remains until you call stopPreview to disable it.
|
|
@@ -2647,9 +2659,7 @@ export declare abstract class IRtcEngine {
|
|
|
2647
2659
|
/**
|
|
2648
2660
|
* Starts the last mile network probe test.
|
|
2649
2661
|
*
|
|
2650
|
-
* This method starts the last-mile network probe test before joining a channel to get the uplink and downlink last mile network statistics, including the bandwidth, packet loss, jitter, and round-trip time (RTT). Once this method is enabled, the SDK returns the following callbacks: onLastmileQuality : The SDK triggers this callback within two seconds depending on the network conditions. This callback rates the network conditions and is more closely linked to the user experience. onLastmileProbeResult : The SDK triggers this callback within 30 seconds depending on the network conditions. This callback returns the real-time statistics of the network conditions and is more objective. This method
|
|
2651
|
-
* Before a user joins a channel, call this method to check the uplink network quality.
|
|
2652
|
-
* In a live streaming channel, call this method to check the uplink network quality before an audience member switches to a host.
|
|
2662
|
+
* This method starts the last-mile network probe test before joining a channel to get the uplink and downlink last mile network statistics, including the bandwidth, packet loss, jitter, and round-trip time (RTT). Once this method is enabled, the SDK returns the following callbacks: onLastmileQuality : The SDK triggers this callback within two seconds depending on the network conditions. This callback rates the network conditions and is more closely linked to the user experience. onLastmileProbeResult : The SDK triggers this callback within 30 seconds depending on the network conditions. This callback returns the real-time statistics of the network conditions and is more objective. This method must be called before joining the channel, and is used to judge and predict whether the current uplink network quality is good enough.
|
|
2653
2663
|
* Do not call other methods before receiving the onLastmileQuality and onLastmileProbeResult callbacks. Otherwise, the callbacks may be interrupted.
|
|
2654
2664
|
* A host should not call this method after joining a channel (when in a call).
|
|
2655
2665
|
*
|
|
@@ -2671,7 +2681,7 @@ export declare abstract class IRtcEngine {
|
|
|
2671
2681
|
/**
|
|
2672
2682
|
* Sets the video encoder configuration.
|
|
2673
2683
|
*
|
|
2674
|
-
* Sets the encoder configuration for the local video. You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before enableVideo to reduce the time to render the first video frame.
|
|
2684
|
+
* Sets the encoder configuration for the local video. Each configuration profile corresponds to a set of video parameters, including the resolution, frame rate, and bitrate. The config specified in this method is the maximum value under ideal network conditions. If the video engine cannot render the video using the specified config due to unreliable network conditions, the parameters further down the list are considered until a successful configuration is found. You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before enableVideo to reduce the time to render the first video frame.
|
|
2675
2685
|
*
|
|
2676
2686
|
* @param config Video profile. See VideoEncoderConfiguration.
|
|
2677
2687
|
*
|
|
@@ -2790,6 +2800,7 @@ export declare abstract class IRtcEngine {
|
|
|
2790
2800
|
*
|
|
2791
2801
|
* This method initializes the video view of a remote stream on the local device. It affects only the video view that the local user sees. Call this method to bind the remote video stream to a video view and to set the rendering and mirror modes of the video view. You need to specify the ID of the remote user in this method. If the remote user ID is unknown to the application, set it after the app receives the onUserJoined callback. To unbind the remote user from the view, set the view parameter to NULL. Once the remote user leaves the channel, the SDK unbinds the remote user.
|
|
2792
2802
|
* If you use the Agora recording function, the recording client joins the channel as a placeholder client, triggering the onUserJoined callback. Do not bind the placeholder client to the app view because the placeholder client does not send any video streams. If your app does not recognize the placeholder client, bind the remote user to the view when the SDK triggers the onFirstRemoteVideoDecoded callback.
|
|
2803
|
+
* If you want to stop rendering the view, set view to null and then call this method again to stop rendering and clear the rendering cache.
|
|
2793
2804
|
*
|
|
2794
2805
|
* @param canvas The remote video view and settings. See VideoCanvas.
|
|
2795
2806
|
*
|
|
@@ -2801,8 +2812,9 @@ export declare abstract class IRtcEngine {
|
|
|
2801
2812
|
/**
|
|
2802
2813
|
* Initializes the local video view.
|
|
2803
2814
|
*
|
|
2804
|
-
* This method initializes the video view of a local stream on the local device. It affects only the video view that the local user sees, not the published local video stream. Call this method to bind the local video stream to a video view (view) and to set the rendering and mirror modes of the video view. After initialization, call this method to set the local video and then join the channel. The local video still binds to the view after you leave the channel. To unbind the local video from the view, set the view parameter as
|
|
2815
|
+
* This method initializes the video view of a local stream on the local device. It affects only the video view that the local user sees, not the published local video stream. Call this method to bind the local video stream to a video view (view) and to set the rendering and mirror modes of the video view. After initialization, call this method to set the local video and then join the channel. The local video still binds to the view after you leave the channel. To unbind the local video from the view, set the view parameter as null. In real-time interactive scenarios, if you need to simultaneously view multiple preview frames in the local video preview, and each frame is at a different observation position along the video link, you can repeatedly call this method to set different view s and set different observation positions for each view. For example, by setting the video source to the camera and then configuring two view s with position setting to PositionPostCapturerOrigin and PositionPostCapturer, you can simultaneously preview the raw, unprocessed video frame and the video frame that has undergone preprocessing (image enhancement effects, virtual background, watermark) in the local video preview.
|
|
2805
2816
|
* You can call this method either before or after joining a channel.
|
|
2817
|
+
* If you want to stop rendering the view, set view to null and then call this method again to stop rendering and clear the rendering cache.
|
|
2806
2818
|
*
|
|
2807
2819
|
* @param canvas The local video view and settings. See VideoCanvas.
|
|
2808
2820
|
*
|
|
@@ -2834,8 +2846,15 @@ export declare abstract class IRtcEngine {
|
|
|
2834
2846
|
* @returns
|
|
2835
2847
|
* 0: Success.
|
|
2836
2848
|
* < 0: Failure.
|
|
2849
|
+
* -1: A general error occurs (no specified reason).
|
|
2850
|
+
* -4: Video application scenarios are not supported. Possible reasons include that you use the Voice SDK instead of the Video SDK.
|
|
2851
|
+
* -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
|
|
2837
2852
|
*/
|
|
2838
2853
|
abstract setVideoScenario(scenarioType: VideoApplicationScenarioType): number;
|
|
2854
|
+
/**
|
|
2855
|
+
* @ignore
|
|
2856
|
+
*/
|
|
2857
|
+
abstract setVideoQoEPreference(qoePreference: VideoQoePreferenceType): number;
|
|
2839
2858
|
/**
|
|
2840
2859
|
* Enables the audio module.
|
|
2841
2860
|
*
|
|
@@ -2853,7 +2872,7 @@ export declare abstract class IRtcEngine {
|
|
|
2853
2872
|
* Disables the audio module.
|
|
2854
2873
|
*
|
|
2855
2874
|
* This method disables the internal engine and can be called anytime after initialization. It is still valid after one leaves channel.
|
|
2856
|
-
* This method resets the internal engine and takes some time to take effect. Agora recommends using the following API methods to control the audio modules separately: enableLocalAudio : Whether to enable the microphone to create the local audio stream. muteLocalAudioStream : Whether to publish the local audio stream. muteRemoteAudioStream : Whether to subscribe and play the remote audio stream. muteAllRemoteAudioStreams : Whether to subscribe to and play all remote audio streams.
|
|
2875
|
+
* This method resets the internal engine and takes some time to take effect. Agora recommends using the following API methods to control the audio modules separately: enableLocalAudio : Whether to enable the microphone to create the local audio stream. enableLoopbackRecording : Whether to enable loopback audio capturing. muteLocalAudioStream : Whether to publish the local audio stream. muteRemoteAudioStream : Whether to subscribe and play the remote audio stream. muteAllRemoteAudioStreams : Whether to subscribe to and play all remote audio streams.
|
|
2857
2876
|
*
|
|
2858
2877
|
* @returns
|
|
2859
2878
|
* 0: Success.
|
|
@@ -2864,10 +2883,11 @@ export declare abstract class IRtcEngine {
|
|
|
2864
2883
|
* Sets the audio profile and audio scenario.
|
|
2865
2884
|
*
|
|
2866
2885
|
* You can call this method either before or after joining a channel.
|
|
2886
|
+
* Due to iOS system restrictions, some audio routes cannot be recognized in call volume mode. Therefore, if you need to use an external sound card, it is recommended to set the audio scenario to AudioScenarioGameStreaming (3). In this scenario, the SDK will switch to media volume to avoid this issue.
|
|
2867
2887
|
* In scenarios requiring high-quality audio, such as online music tutoring, Agora recommends you set profile as AudioProfileMusicHighQuality (4) and scenario as AudioScenarioGameStreaming (3).
|
|
2868
2888
|
*
|
|
2869
2889
|
* @param profile The audio profile, including the sampling rate, bitrate, encoding mode, and the number of channels. See AudioProfileType.
|
|
2870
|
-
* @param scenario The audio scenarios.
|
|
2890
|
+
* @param scenario The audio scenarios. Under different audio scenarios, the device uses different volume types. See AudioScenarioType.
|
|
2871
2891
|
*
|
|
2872
2892
|
* @returns
|
|
2873
2893
|
* 0: Success.
|
|
@@ -2877,9 +2897,10 @@ export declare abstract class IRtcEngine {
|
|
|
2877
2897
|
/**
|
|
2878
2898
|
* Sets audio scenarios.
|
|
2879
2899
|
*
|
|
2880
|
-
*
|
|
2900
|
+
* Due to iOS system restrictions, some audio routes cannot be recognized in call volume mode. Therefore, if you need to use an external sound card, it is recommended to set the audio scenario to AudioScenarioGameStreaming (3). In this scenario, the SDK will switch to media volume to avoid this issue.
|
|
2901
|
+
* You can call this method either before or after joining a channel.
|
|
2881
2902
|
*
|
|
2882
|
-
* @param scenario The audio scenarios.
|
|
2903
|
+
* @param scenario The audio scenarios. Under different audio scenarios, the device uses different volume types. See AudioScenarioType.
|
|
2883
2904
|
*
|
|
2884
2905
|
* @returns
|
|
2885
2906
|
* 0: Success.
|
|
@@ -2960,7 +2981,7 @@ export declare abstract class IRtcEngine {
|
|
|
2960
2981
|
/**
|
|
2961
2982
|
* Enables/Disables the local video capture.
|
|
2962
2983
|
*
|
|
2963
|
-
* This method disables or re-enables the local video capture, and does not affect receiving the remote video stream. After calling enableVideo, the local video capture is enabled by default.
|
|
2984
|
+
* This method disables or re-enables the local video capture, and does not affect receiving the remote video stream. After calling enableVideo, the local video capture is enabled by default. If you call enableLocalVideo (false) to disable local video capture within the channel, it also simultaneously stops publishing the video stream within the channel. If you want to restart video catpure, you can call enableLocalVideo (true) and then call updateChannelMediaOptions to set the options parameter to publish the locally captured video stream in the channel. After the local video capturer is successfully disabled or re-enabled, the SDK triggers the onRemoteVideoStateChanged callback on the remote client.
|
|
2964
2985
|
* You can call this method either before or after joining a channel.
|
|
2965
2986
|
* This method enables the internal engine and is valid after leaving the channel.
|
|
2966
2987
|
*
|
|
@@ -2989,6 +3010,20 @@ export declare abstract class IRtcEngine {
|
|
|
2989
3010
|
* @ignore
|
|
2990
3011
|
*/
|
|
2991
3012
|
abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number;
|
|
3013
|
+
/**
|
|
3014
|
+
* Sets the default video stream type to subscribe to.
|
|
3015
|
+
*
|
|
3016
|
+
* The SDK defaults to enabling low-quality video stream adaptive mode (AutoSimulcastStream) on the sender side, which means the sender does not actively send low-quality video stream. The receiver can initiate a low-quality video stream request by calling this method, and the sender will automatically start sending low-quality video stream upon receiving the request. By default, users receive the high-quality video stream. Call this method if you want to switch to the low-quality video stream. The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream. Under limited network conditions, if the publisher does not disable the dual-stream mode using enableDualStreamMode (false), the receiver can choose to receive either the high-quality video stream, or the low-quality video stream. The high-quality video stream has a higher resolution and bitrate, while the low-quality video stream has a lower resolution and bitrate.
|
|
3017
|
+
* Call this method before joining a channel. The SDK does not support changing the default subscribed video stream type after joining a channel.
|
|
3018
|
+
* If you call both this method and setRemoteVideoStreamType, the setting of setRemoteVideoStreamType takes effect.
|
|
3019
|
+
*
|
|
3020
|
+
* @param streamType The default video-stream type. See VideoStreamType.
|
|
3021
|
+
*
|
|
3022
|
+
* @returns
|
|
3023
|
+
* 0: Success.
|
|
3024
|
+
* < 0: Failure.
|
|
3025
|
+
*/
|
|
3026
|
+
abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number;
|
|
2992
3027
|
/**
|
|
2993
3028
|
* Stops or resumes subscribing to the video stream of a specified user.
|
|
2994
3029
|
*
|
|
@@ -3003,12 +3038,12 @@ export declare abstract class IRtcEngine {
|
|
|
3003
3038
|
*/
|
|
3004
3039
|
abstract muteRemoteVideoStream(uid: number, mute: boolean): number;
|
|
3005
3040
|
/**
|
|
3006
|
-
* Sets the stream type
|
|
3041
|
+
* Sets the video stream type to subscribe to.
|
|
3007
3042
|
*
|
|
3008
|
-
* Under limited network conditions, if the publisher
|
|
3043
|
+
* Under limited network conditions, if the publisher does not disable the dual-stream mode using enableDualStreamMode (false), the receiver can choose to receive either the high-quality video stream, or the low-quality video stream. The high-quality video stream has a higher resolution and bitrate, while the low-quality video stream has a lower resolution and bitrate. By default, users receive the high-quality video stream. Call this method if you want to switch to the low-quality video stream. The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream. The SDK defaults to enabling low-quality video stream adaptive mode (AutoSimulcastStream) on the sender side, which means the sender does not actively send low-quality video stream. The receiver can initiate a low-quality video stream request by calling this method, and the sender will automatically start sending low-quality video stream upon receiving the request. You can call this method either before or after joining a channel. If you call both setRemoteVideoStreamType and setRemoteDefaultVideoStreamType, the setting of setRemoteVideoStreamType takes effect.
|
|
3009
3044
|
*
|
|
3010
3045
|
* @param uid The user ID.
|
|
3011
|
-
* @param streamType The video stream type
|
|
3046
|
+
* @param streamType The video stream type, see VideoStreamType.
|
|
3012
3047
|
*
|
|
3013
3048
|
* @returns
|
|
3014
3049
|
* 0: Success.
|
|
@@ -3035,20 +3070,6 @@ export declare abstract class IRtcEngine {
|
|
|
3035
3070
|
* < 0: Failure.
|
|
3036
3071
|
*/
|
|
3037
3072
|
abstract setRemoteVideoSubscriptionOptions(uid: number, options: VideoSubscriptionOptions): number;
|
|
3038
|
-
/**
|
|
3039
|
-
* Sets the default stream type of subscrption for remote video streams.
|
|
3040
|
-
*
|
|
3041
|
-
* By default, the SDK enables the low-quality video stream auto mode on the sending end (it does not actively send the low-quality video stream). The host identity receiver can initiate a low-quality video stream application at the receiving end by calling this method (the call to this method by the audience receiver does not take effect). After receiving the application, the sending end automatically switches to the low-quality video stream mode. Under limited network conditions, if the publisher has not disabled the dual-stream mode using enableDualStreamMode (false), the receiver can choose to receive either the high-quality video stream or the low-video stream. The high-quality video stream has a higher resolution and bitrate, and the low-quality video stream has a lower resolution and bitrate. By default, users receive the high-quality video stream. Call this method if you want to switch to the low-quality video stream. This method allows the app to adjust the corresponding video stream type based on the size of the video window to reduce the bandwidth and resources. The aspect ratio of the low-quality video stream is the same as the high-quality video stream. Once the resolution of the high-quality video stream is set, the system automatically sets the resolution, frame rate, and bitrate of the low-quality video stream.
|
|
3042
|
-
* Call this method before joining a channel. The SDK does not support changing the default subscribed video stream type after joining a channel.
|
|
3043
|
-
* If you call both this method and setRemoteVideoStreamType, the SDK applies the settings in the setRemoteVideoStreamType method.
|
|
3044
|
-
*
|
|
3045
|
-
* @param streamType The default video-stream type. See VideoStreamType.
|
|
3046
|
-
*
|
|
3047
|
-
* @returns
|
|
3048
|
-
* 0: Success.
|
|
3049
|
-
* < 0: Failure.
|
|
3050
|
-
*/
|
|
3051
|
-
abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number;
|
|
3052
3073
|
/**
|
|
3053
3074
|
* Set the blocklist of subscriptions for audio streams.
|
|
3054
3075
|
*
|
|
@@ -3124,7 +3145,7 @@ export declare abstract class IRtcEngine {
|
|
|
3124
3145
|
*
|
|
3125
3146
|
* @param interval Sets the time interval between two consecutive volume indications:
|
|
3126
3147
|
* ≤ 0: Disables the volume indication.
|
|
3127
|
-
* > 0: Time interval (ms) between two consecutive volume indications.
|
|
3148
|
+
* > 0: Time interval (ms) between two consecutive volume indications. Ensure this parameter is set to a value greater than 10, otherwise you will not receive the onAudioVolumeIndication callback. Agora recommends that this value is set as greater than 100.
|
|
3128
3149
|
* @param smooth The smoothing factor that sets the sensitivity of the audio volume indicator. The value ranges between 0 and 10. The recommended value is 3. The greater the value, the more sensitive the indicator.
|
|
3129
3150
|
* @param reportVad true : Enables the voice activity detection of the local user. Once it is enabled, the vad parameter of the onAudioVolumeIndication callback reports the voice activity status of the local user. false : (Default) Disables the voice activity detection of the local user. Once it is disabled, the vad parameter of the onAudioVolumeIndication callback does not report the voice activity status of the local user, except for the scenario where the engine automatically detects the voice activity of the local user.
|
|
3130
3151
|
*
|
|
@@ -3195,9 +3216,9 @@ export declare abstract class IRtcEngine {
|
|
|
3195
3216
|
* Starts playing the music file.
|
|
3196
3217
|
*
|
|
3197
3218
|
* This method mixes the specified local or online audio file with the audio from the microphone, or replaces the microphone's audio with the specified local or remote audio file. A successful method call triggers the onAudioMixingStateChanged (AudioMixingStatePlaying) callback. When the audio mixing file playback finishes, the SDK triggers the onAudioMixingStateChanged (AudioMixingStateStopped) callback on the local client.
|
|
3198
|
-
* For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
|
|
3199
3219
|
* You can call this method either before or after joining a channel. If you need to call startAudioMixing multiple times, ensure that the time interval between calling this method is more than 500 ms.
|
|
3200
3220
|
* If the local music file does not exist, the SDK does not support the file format, or the the SDK cannot access the music file URL, the SDK reports 701.
|
|
3221
|
+
* For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
|
|
3201
3222
|
*
|
|
3202
3223
|
* @param filePath File path:
|
|
3203
3224
|
* Windows: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example : C:\music\audio.mp4.
|
|
@@ -3414,9 +3435,7 @@ export declare abstract class IRtcEngine {
|
|
|
3414
3435
|
/**
|
|
3415
3436
|
* Preloads a specified audio effect file into the memory.
|
|
3416
3437
|
*
|
|
3417
|
-
* To ensure smooth communication, It is recommended that you limit the size of the audio effect file. You can call this method to preload the audio effect before calling joinChannel.
|
|
3418
|
-
* This method does not support online audio effect files.
|
|
3419
|
-
* For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
|
|
3438
|
+
* To ensure smooth communication, It is recommended that you limit the size of the audio effect file. You can call this method to preload the audio effect before calling joinChannel. For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
|
|
3420
3439
|
*
|
|
3421
3440
|
* @param soundId The audio effect ID. The ID of each audio effect file is unique.
|
|
3422
3441
|
* @param filePath File path:
|
|
@@ -3881,7 +3900,7 @@ export declare abstract class IRtcEngine {
|
|
|
3881
3900
|
* Deprecated: Use the logConfig parameter in initialize instead. By default, the SDK generates five SDK log files and five API call log files with the following rules:
|
|
3882
3901
|
* The SDK log files are: agorasdk.log, agorasdk.1.log, agorasdk.2.log, agorasdk.3.log, and agorasdk.4.log.
|
|
3883
3902
|
* The API call log files are: agoraapi.log, agoraapi.1.log, agoraapi.2.log, agoraapi.3.log, and agoraapi.4.log.
|
|
3884
|
-
* The default size
|
|
3903
|
+
* The default size of each SDK log file and API log file is 2,048 KB. These log files are encoded in UTF-8.
|
|
3885
3904
|
* The SDK writes the latest logs in agorasdk.log or agoraapi.log.
|
|
3886
3905
|
* When agorasdk.log is full, the SDK processes the log files in the following order:
|
|
3887
3906
|
* Delete the agorasdk.4.log file (if any).
|
|
@@ -3908,6 +3927,7 @@ export declare abstract class IRtcEngine {
|
|
|
3908
3927
|
* After initializing the local video view, you can call this method to update its rendering and mirror modes. It affects only the video view that the local user sees, not the published local video stream.
|
|
3909
3928
|
* Ensure that you have called the setupLocalVideo method to initialize the local video view before calling this method.
|
|
3910
3929
|
* During a call, you can call this method as many times as necessary to update the display mode of the local video view.
|
|
3930
|
+
* This method only takes effect on the primary camera (PrimaryCameraSource). In scenarios involving custom video capture or the use of alternative video sources, you need to use setupLocalVideo instead of this method.
|
|
3911
3931
|
*
|
|
3912
3932
|
* @param renderMode The local video display mode. See RenderModeType.
|
|
3913
3933
|
* @param mirrorMode The mirror mode of the local video view. See VideoMirrorModeType. If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
|
|
@@ -3946,7 +3966,7 @@ export declare abstract class IRtcEngine {
|
|
|
3946
3966
|
*/
|
|
3947
3967
|
abstract setLocalVideoMirrorMode(mirrorMode: VideoMirrorModeType): number;
|
|
3948
3968
|
/**
|
|
3949
|
-
*
|
|
3969
|
+
* Sets the dual-stream mode on the sender side and the low-quality video stream.
|
|
3950
3970
|
*
|
|
3951
3971
|
* Deprecated: This method is deprecated as of v4.2.0. Use setDualStreamMode instead. You can call this method to enable or disable the dual-stream mode on the publisher side. Dual streams are a pairing of a high-quality video stream and a low-quality video stream:
|
|
3952
3972
|
* High-quality video stream: High bitrate, high resolution.
|
|
@@ -3956,7 +3976,7 @@ export declare abstract class IRtcEngine {
|
|
|
3956
3976
|
* You can call this method either before or after joining a channel.
|
|
3957
3977
|
*
|
|
3958
3978
|
* @param enabled Whether to enable dual-stream mode: true : Enable dual-stream mode. false : (Default) Disable dual-stream mode.
|
|
3959
|
-
* @param streamConfig The configuration of the low-quality video stream. See SimulcastStreamConfig.
|
|
3979
|
+
* @param streamConfig The configuration of the low-quality video stream. See SimulcastStreamConfig. When setting mode to DisableSimulcastStream, setting streamConfig will not take effect.
|
|
3960
3980
|
*
|
|
3961
3981
|
* @returns
|
|
3962
3982
|
* 0: Success.
|
|
@@ -3964,13 +3984,13 @@ export declare abstract class IRtcEngine {
|
|
|
3964
3984
|
*/
|
|
3965
3985
|
abstract enableDualStreamMode(enabled: boolean, streamConfig?: SimulcastStreamConfig): number;
|
|
3966
3986
|
/**
|
|
3967
|
-
* Sets dual-stream mode configuration on the sender
|
|
3987
|
+
* Sets dual-stream mode configuration on the sender side.
|
|
3968
3988
|
*
|
|
3969
|
-
* The SDK
|
|
3970
|
-
* If you want to modify this behavior, you can call this method and
|
|
3989
|
+
* The SDK defaults to enabling low-quality video stream adaptive mode (AutoSimulcastStream) on the sender side, which means the sender does not actively send low-quality video stream. The receiver can initiate a low-quality video stream request by calling setRemoteVideoStreamType, and the sender then automatically starts sending low-quality video stream upon receiving the request.
|
|
3990
|
+
* If you want to modify this behavior, you can call this method and set mode to DisableSimulcastStream (never send low-quality video streams) or EnableSimulcastStream (always send low-quality video streams).
|
|
3971
3991
|
* If you want to restore the default behavior after making changes, you can call this method again with mode set to AutoSimulcastStream. The difference and connection between this method and enableDualStreamMode is as follows:
|
|
3972
|
-
* When calling this method and setting mode to DisableSimulcastStream, it has the same effect as calling and setting enabled to false.
|
|
3973
|
-
* When calling this method and setting mode to EnableSimulcastStream, it has the same effect as calling and setting enabled to true.
|
|
3992
|
+
* When calling this method and setting mode to DisableSimulcastStream, it has the same effect as calling enableDualStreamMode and setting enabled to false.
|
|
3993
|
+
* When calling this method and setting mode to EnableSimulcastStream, it has the same effect as calling enableDualStreamMode and setting enabled to true.
|
|
3974
3994
|
* Both methods can be called before and after joining a channel. If both methods are used, the settings in the method called later takes precedence.
|
|
3975
3995
|
*
|
|
3976
3996
|
* @param mode The mode in which the video stream is sent. See SimulcastStreamMode.
|
|
@@ -3982,7 +4002,16 @@ export declare abstract class IRtcEngine {
|
|
|
3982
4002
|
*/
|
|
3983
4003
|
abstract setDualStreamMode(mode: SimulcastStreamMode, streamConfig?: SimulcastStreamConfig): number;
|
|
3984
4004
|
/**
|
|
3985
|
-
*
|
|
4005
|
+
* Sets whether to enable the local playback of external audio source.
|
|
4006
|
+
*
|
|
4007
|
+
* Ensure you have called the createCustomAudioTrack method to create a custom audio track before calling this method. After calling this method to enable the local playback of external audio source, if you need to stop local playback, you can call this method again and set enabled to false. You can call adjustCustomAudioPlayoutVolume to adjust the local playback volume of the custom audio track.
|
|
4008
|
+
*
|
|
4009
|
+
* @param trackId The audio track ID. Set this parameter to the custom audio track ID returned in createCustomAudioTrack.
|
|
4010
|
+
* @param enabled Whether to play the external audio source: true : Play the external audio source. false : (Default) Do not play the external source.
|
|
4011
|
+
*
|
|
4012
|
+
* @returns
|
|
4013
|
+
* 0: Success.
|
|
4014
|
+
* < 0: Failure.
|
|
3986
4015
|
*/
|
|
3987
4016
|
abstract enableCustomAudioLocalPlayback(trackId: number, enabled: boolean): number;
|
|
3988
4017
|
/**
|
|
@@ -4058,7 +4087,7 @@ export declare abstract class IRtcEngine {
|
|
|
4058
4087
|
* Sets the audio data format reported by onPlaybackAudioFrameBeforeMixing.
|
|
4059
4088
|
*
|
|
4060
4089
|
* @param sampleRate The sample rate (Hz) of the audio data, which can be set as 8000, 16000, 32000, 44100, or 48000.
|
|
4061
|
-
* @param channel The number of channels of the
|
|
4090
|
+
* @param channel The number of channels of the audio data, which can be set as 1 (Mono) or 2 (Stereo).
|
|
4062
4091
|
*
|
|
4063
4092
|
* @returns
|
|
4064
4093
|
* 0: Success.
|
|
@@ -4170,21 +4199,82 @@ export declare abstract class IRtcEngine {
|
|
|
4170
4199
|
*/
|
|
4171
4200
|
abstract setLocalPublishFallbackOption(option: StreamFallbackOptions): number;
|
|
4172
4201
|
/**
|
|
4173
|
-
*
|
|
4202
|
+
* Sets the fallback option for the subscribed video stream based on the network conditions.
|
|
4203
|
+
*
|
|
4204
|
+
* An unstable network affects the audio and video quality in a video call or interactive live video streaming. If option is set as StreamFallbackOptionVideoStreamLow or StreamFallbackOptionAudioOnly, the SDK automatically switches the video from a high-quality stream to a low-quality stream or disables the video when the downlink network conditions cannot support both audio and video to guarantee the quality of the audio. Meanwhile, the SDK continuously monitors network quality and resumes subscribing to audio and video streams when the network quality improves. When the subscribed video stream falls back to an audio-only stream, or recovers from an audio-only stream to an audio-video stream, the SDK triggers the onRemoteSubscribeFallbackToAudioOnly callback. Ensure that you call this method before joining a channel.
|
|
4205
|
+
*
|
|
4206
|
+
* @param option Fallback options for the subscribed stream. See STREAM_FALLBACK_OPTIONS.
|
|
4207
|
+
*
|
|
4208
|
+
* @returns
|
|
4209
|
+
* 0: Success.
|
|
4210
|
+
* < 0: Failure.
|
|
4174
4211
|
*/
|
|
4175
4212
|
abstract setRemoteSubscribeFallbackOption(option: StreamFallbackOptions): number;
|
|
4176
4213
|
/**
|
|
4177
4214
|
* @ignore
|
|
4178
4215
|
*/
|
|
4179
4216
|
abstract setHighPriorityUserList(uidList: number[], uidNum: number, option: StreamFallbackOptions): number;
|
|
4217
|
+
/**
|
|
4218
|
+
* Enables or disables extensions.
|
|
4219
|
+
*
|
|
4220
|
+
* To call this method, call it immediately after initializing the IRtcEngine object.
|
|
4221
|
+
* If you want to enable multiple extensions, you need to call this method multiple times.
|
|
4222
|
+
* The data processing order of different extensions in the SDK is determined by the order in which the extensions are enabled. That is, the extension that is enabled first will process the data first.
|
|
4223
|
+
*
|
|
4224
|
+
* @param provider The name of the extension provider.
|
|
4225
|
+
* @param extension The name of the extension.
|
|
4226
|
+
* @param enable Whether to enable the extension: true : Enable the extension. false : Disable the extension.
|
|
4227
|
+
* @param type Type of media source. See MediaSourceType. In this method, this parameter supports only the following two settings:
|
|
4228
|
+
* The default value is UnknownMediaSource.
|
|
4229
|
+
* If you want to use the second camera to capture video, set this parameter to SecondaryCameraSource.
|
|
4230
|
+
*
|
|
4231
|
+
* @returns
|
|
4232
|
+
* 0: Success.
|
|
4233
|
+
* < 0: Failure.
|
|
4234
|
+
* -3: The extension library is not loaded. Agora recommends that you check the storage location or the name of the dynamic library.
|
|
4235
|
+
*/
|
|
4236
|
+
abstract enableExtension(provider: string, extension: string, enable?: boolean, type?: MediaSourceType): number;
|
|
4237
|
+
/**
|
|
4238
|
+
* Sets the properties of the extension.
|
|
4239
|
+
*
|
|
4240
|
+
* After enabling the extension, you can call this method to set the properties of the extension.
|
|
4241
|
+
*
|
|
4242
|
+
* @param provider The name of the extension provider.
|
|
4243
|
+
* @param extension The name of the extension.
|
|
4244
|
+
* @param key The key of the extension.
|
|
4245
|
+
* @param value The value of the extension key.
|
|
4246
|
+
* @param type Type of media source. See MediaSourceType. In this method, this parameter supports only the following two settings:
|
|
4247
|
+
* The default value is UnknownMediaSource.
|
|
4248
|
+
* If you want to use the second camera to capture video, set this parameter to SecondaryCameraSource.
|
|
4249
|
+
*
|
|
4250
|
+
* @returns
|
|
4251
|
+
* 0: Success.
|
|
4252
|
+
* < 0: Failure.
|
|
4253
|
+
*/
|
|
4254
|
+
abstract setExtensionProperty(provider: string, extension: string, key: string, value: string, type?: MediaSourceType): number;
|
|
4255
|
+
/**
|
|
4256
|
+
* Gets detailed information on the extensions.
|
|
4257
|
+
*
|
|
4258
|
+
* @param provider The name of the extension provider.
|
|
4259
|
+
* @param extension The name of the extension.
|
|
4260
|
+
* @param key The key of the extension.
|
|
4261
|
+
* @param bufLen Maximum length of the JSON string indicating the extension property. The maximum value is 512 bytes.
|
|
4262
|
+
* @param type Source type of the extension. See MediaSourceType.
|
|
4263
|
+
*
|
|
4264
|
+
* @returns
|
|
4265
|
+
* The extension information, if the method call succeeds.
|
|
4266
|
+
* An empty string, if the method call fails.
|
|
4267
|
+
*/
|
|
4268
|
+
abstract getExtensionProperty(provider: string, extension: string, key: string, bufLen: number, type?: MediaSourceType): string;
|
|
4180
4269
|
/**
|
|
4181
4270
|
* Enables loopback audio capturing.
|
|
4182
4271
|
*
|
|
4183
4272
|
* If you enable loopback audio capturing, the output of the sound card is mixed into the audio stream sent to the other end.
|
|
4184
4273
|
* macOS does not support loopback audio capture of the default sound card. If you need to use this function, use a virtual sound card and pass its name to the deviceName parameter. Agora recommends using AgoraALD as the virtual sound card for audio capturing.
|
|
4185
4274
|
* You can call this method either before or after joining a channel.
|
|
4275
|
+
* If you call the disableAudio method to disable the audio module, audio capturing will be disabled as well. If you need to enable audio capturing, call the enableAudio method to enable the audio module and then call the enableLoopbackRecording method.
|
|
4186
4276
|
*
|
|
4187
|
-
* @param enabled
|
|
4277
|
+
* @param enabled Sets whether to enable loopback audio capturing. true : Enable loopback audio capturing. false : (Default) Disable loopback audio capturing.
|
|
4188
4278
|
* @param deviceName macOS: The device name of the virtual sound card. The default value is set to NULL, which means using AgoraALD for loopback audio capturing.
|
|
4189
4279
|
* Windows: The device name of the sound card. The default is set to NULL, which means the SDK uses the sound card of your device for loopback audio capturing.
|
|
4190
4280
|
*
|
|
@@ -4228,13 +4318,12 @@ export declare abstract class IRtcEngine {
|
|
|
4228
4318
|
/**
|
|
4229
4319
|
* Sets the volume of the in-ear monitor.
|
|
4230
4320
|
*
|
|
4231
|
-
*
|
|
4232
|
-
* You can call this method either before or after joining a channel.
|
|
4233
|
-
*
|
|
4234
|
-
* @param volume The volume of the in-ear monitor. The value ranges between 0 and 100. The default value is 100.
|
|
4321
|
+
* You can call this method either before or after joining a channel.
|
|
4235
4322
|
*
|
|
4236
|
-
* @
|
|
4237
|
-
*
|
|
4323
|
+
* @param volume The volume of the in-ear monitor. The value range is [0,400].
|
|
4324
|
+
* 0: Mute.
|
|
4325
|
+
* 100: (Default) The original volume.
|
|
4326
|
+
* 400: Four times the original volume.
|
|
4238
4327
|
*/
|
|
4239
4328
|
abstract setInEarMonitoringVolume(volume: number): number;
|
|
4240
4329
|
/**
|
|
@@ -4280,69 +4369,17 @@ export declare abstract class IRtcEngine {
|
|
|
4280
4369
|
* < 0: Failure.
|
|
4281
4370
|
*/
|
|
4282
4371
|
abstract registerExtension(provider: string, extension: string, type?: MediaSourceType): number;
|
|
4283
|
-
/**
|
|
4284
|
-
* Enables or disables extensions.
|
|
4285
|
-
*
|
|
4286
|
-
* To call this method, call it immediately after initializing the IRtcEngine object.
|
|
4287
|
-
* If you want to enable multiple extensions, you need to call this method multiple times.
|
|
4288
|
-
* The data processing order of different extensions in the SDK is determined by the order in which the extensions are enabled. That is, the extension that is enabled first will process the data first.
|
|
4289
|
-
*
|
|
4290
|
-
* @param provider The name of the extension provider.
|
|
4291
|
-
* @param extension The name of the extension.
|
|
4292
|
-
* @param enable Whether to enable the extension: true : Enable the extension. false : Disable the extension.
|
|
4293
|
-
* @param type Type of media source. See MediaSourceType. In this method, this parameter supports only the following two settings:
|
|
4294
|
-
* The default value is UnknownMediaSource.
|
|
4295
|
-
* If you want to use the second camera to capture video, set this parameter to SecondaryCameraSource.
|
|
4296
|
-
*
|
|
4297
|
-
* @returns
|
|
4298
|
-
* 0: Success.
|
|
4299
|
-
* < 0: Failure.
|
|
4300
|
-
* -3: The extension library is not loaded. Agora recommends that you check the storage location or the name of the dynamic library.
|
|
4301
|
-
*/
|
|
4302
|
-
abstract enableExtension(provider: string, extension: string, enable?: boolean, type?: MediaSourceType): number;
|
|
4303
|
-
/**
|
|
4304
|
-
* Sets the properties of the extension.
|
|
4305
|
-
*
|
|
4306
|
-
* After enabling the extension, you can call this method to set the properties of the extension.
|
|
4307
|
-
*
|
|
4308
|
-
* @param provider The name of the extension provider.
|
|
4309
|
-
* @param extension The name of the extension.
|
|
4310
|
-
* @param key The key of the extension.
|
|
4311
|
-
* @param value The value of the extension key.
|
|
4312
|
-
* @param type Type of media source. See MediaSourceType. In this method, this parameter supports only the following two settings:
|
|
4313
|
-
* The default value is UnknownMediaSource.
|
|
4314
|
-
* If you want to use the second camera to capture video, set this parameter to SecondaryCameraSource.
|
|
4315
|
-
*
|
|
4316
|
-
* @returns
|
|
4317
|
-
* 0: Success.
|
|
4318
|
-
* < 0: Failure.
|
|
4319
|
-
*/
|
|
4320
|
-
abstract setExtensionProperty(provider: string, extension: string, key: string, value: string, type?: MediaSourceType): number;
|
|
4321
|
-
/**
|
|
4322
|
-
* Gets detailed information on the extensions.
|
|
4323
|
-
*
|
|
4324
|
-
* @param provider The name of the extension provider.
|
|
4325
|
-
* @param extension The name of the extension.
|
|
4326
|
-
* @param key The key of the extension.
|
|
4327
|
-
* @param bufLen Maximum length of the JSON string indicating the extension property. The maximum value is 512 bytes.
|
|
4328
|
-
* @param type Source type of the extension. See MediaSourceType.
|
|
4329
|
-
*
|
|
4330
|
-
* @returns
|
|
4331
|
-
* The extension information, if the method call succeeds.
|
|
4332
|
-
* An empty string, if the method call fails.
|
|
4333
|
-
*/
|
|
4334
|
-
abstract getExtensionProperty(provider: string, extension: string, key: string, bufLen: number, type?: MediaSourceType): string;
|
|
4335
4372
|
/**
|
|
4336
4373
|
* @ignore
|
|
4337
4374
|
*/
|
|
4338
4375
|
abstract setCameraCapturerConfiguration(config: CameraCapturerConfiguration): number;
|
|
4339
4376
|
/**
|
|
4340
|
-
* Creates a
|
|
4377
|
+
* Creates a custom video track.
|
|
4341
4378
|
*
|
|
4342
|
-
*
|
|
4379
|
+
* To publish a custom video source, see the following steps:
|
|
4343
4380
|
* Call this method to create a video track and get the video track ID.
|
|
4344
|
-
*
|
|
4345
|
-
*
|
|
4381
|
+
* Call joinChannel to join the channel. In ChannelMediaOptions, set customVideoTrackId to the video track ID that you want to publish, and set publishCustomVideoTrack to true.
|
|
4382
|
+
* Call pushVideoFrame and specify videoTrackId as the video track ID set in step 2. You can then publish the corresponding custom video source in the channel.
|
|
4346
4383
|
*
|
|
4347
4384
|
* @returns
|
|
4348
4385
|
* If the method call is successful, the video track ID is returned as the unique identifier of the video track.
|
|
@@ -4585,18 +4622,6 @@ export declare abstract class IRtcEngine {
|
|
|
4585
4622
|
* @ignore
|
|
4586
4623
|
*/
|
|
4587
4624
|
abstract startScreenCapture(captureParams: ScreenCaptureParameters2): number;
|
|
4588
|
-
/**
|
|
4589
|
-
* Starts screen capture.
|
|
4590
|
-
*
|
|
4591
|
-
* This method, as well as startScreenCaptureByDisplayId and startScreenCaptureByWindowId, all have the capability to start screen capture, with the following differences: startScreenCaptureByDisplayId and startScreenCaptureByWindowId only support capturing video from a single screen or window. By calling this method and specifying the sourceType parameter, you can capture multiple video streams used for local video mixing or multi-channel publishing.
|
|
4592
|
-
* If you call this method to start screen capture, Agora recommends that you call stopScreenCaptureBySourceType to stop the capture and avoid using stopScreenCapture.
|
|
4593
|
-
*
|
|
4594
|
-
* @param sourceType The type of the video source. See VideoSourceType.
|
|
4595
|
-
* Windows supports up to four screen capture video streams.
|
|
4596
|
-
* macOS supports only one screen capture video stream. You can only set this parameter to VideoSourceScreen (2).
|
|
4597
|
-
* @param config The configuration of the captured screen. See ScreenCaptureConfiguration.
|
|
4598
|
-
*/
|
|
4599
|
-
abstract startScreenCaptureBySourceType(sourceType: VideoSourceType, config: ScreenCaptureConfiguration): number;
|
|
4600
4625
|
/**
|
|
4601
4626
|
* @ignore
|
|
4602
4627
|
*/
|
|
@@ -4627,19 +4652,6 @@ export declare abstract class IRtcEngine {
|
|
|
4627
4652
|
* < 0: Failure.
|
|
4628
4653
|
*/
|
|
4629
4654
|
abstract stopScreenCapture(): number;
|
|
4630
|
-
/**
|
|
4631
|
-
* Stops screen capture.
|
|
4632
|
-
*
|
|
4633
|
-
* After calling startScreenCaptureBySourceType to start capturing video from one or more screens, you can call this method and set the sourceType parameter to stop capturing from the specified screens.
|
|
4634
|
-
* If you call startScreenCaptureByWindowId or startScreenCaptureByDisplayId to start screen capture, Agora recommends that you call stopScreenCapture to stop the capture and do not use this one.
|
|
4635
|
-
*
|
|
4636
|
-
* @param sourceType The type of the video source. See VideoSourceType.
|
|
4637
|
-
*
|
|
4638
|
-
* @returns
|
|
4639
|
-
* 0: Success.
|
|
4640
|
-
* < 0: Failure.
|
|
4641
|
-
*/
|
|
4642
|
-
abstract stopScreenCaptureBySourceType(sourceType: VideoSourceType): number;
|
|
4643
4655
|
/**
|
|
4644
4656
|
* Retrieves the call ID.
|
|
4645
4657
|
*
|
|
@@ -4697,9 +4709,9 @@ export declare abstract class IRtcEngine {
|
|
|
4697
4709
|
* @returns
|
|
4698
4710
|
* 0: Success.
|
|
4699
4711
|
* < 0: Failure.
|
|
4700
|
-
* -2: The URL is
|
|
4712
|
+
* -2: The URL or configuration of transcoding is invalid; check your URL and transcoding configurations.
|
|
4701
4713
|
* -7: The SDK is not initialized before calling this method.
|
|
4702
|
-
* -19: The Media Push URL is already in use
|
|
4714
|
+
* -19: The Media Push URL is already in use; use another URL instead.
|
|
4703
4715
|
*/
|
|
4704
4716
|
abstract startRtmpStreamWithoutTranscoding(url: string): number;
|
|
4705
4717
|
/**
|
|
@@ -4716,9 +4728,9 @@ export declare abstract class IRtcEngine {
|
|
|
4716
4728
|
* @returns
|
|
4717
4729
|
* 0: Success.
|
|
4718
4730
|
* < 0: Failure.
|
|
4719
|
-
* -2: The URL is
|
|
4731
|
+
* -2: The URL or configuration of transcoding is invalid; check your URL and transcoding configurations.
|
|
4720
4732
|
* -7: The SDK is not initialized before calling this method.
|
|
4721
|
-
* -19: The Media Push URL is already in use
|
|
4733
|
+
* -19: The Media Push URL is already in use; use another URL instead.
|
|
4722
4734
|
*/
|
|
4723
4735
|
abstract startRtmpStreamWithTranscoding(url: string, transcoding: LiveTranscoding): number;
|
|
4724
4736
|
/**
|
|
@@ -4733,18 +4745,6 @@ export declare abstract class IRtcEngine {
|
|
|
4733
4745
|
* < 0: Failure.
|
|
4734
4746
|
*/
|
|
4735
4747
|
abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number;
|
|
4736
|
-
/**
|
|
4737
|
-
* Stops pushing media streams to a CDN.
|
|
4738
|
-
*
|
|
4739
|
-
* Agora recommends that you use the server-side Media Push function. You can call this method to stop the live stream on the specified CDN address. This method can stop pushing media streams to only one CDN address at a time, so if you need to stop pushing streams to multiple addresses, call this method multiple times. After you call this method, the SDK triggers the onRtmpStreamingStateChanged callback on the local client to report the state of the streaming.
|
|
4740
|
-
*
|
|
4741
|
-
* @param url The address of Media Push. The format is RTMP or RTMPS. The character length cannot exceed 1024 bytes. Special characters such as Chinese characters are not supported.
|
|
4742
|
-
*
|
|
4743
|
-
* @returns
|
|
4744
|
-
* 0: Success.
|
|
4745
|
-
* < 0: Failure.
|
|
4746
|
-
*/
|
|
4747
|
-
abstract stopRtmpStream(url: string): number;
|
|
4748
4748
|
/**
|
|
4749
4749
|
* Starts the local video mixing.
|
|
4750
4750
|
*
|
|
@@ -4777,10 +4777,26 @@ export declare abstract class IRtcEngine {
|
|
|
4777
4777
|
* < 0: Failure.
|
|
4778
4778
|
*/
|
|
4779
4779
|
abstract updateLocalTranscoderConfiguration(config: LocalTranscoderConfiguration): number;
|
|
4780
|
+
/**
|
|
4781
|
+
* Stops pushing media streams to a CDN.
|
|
4782
|
+
*
|
|
4783
|
+
* Agora recommends that you use the server-side Media Push function. You can call this method to stop the live stream on the specified CDN address. This method can stop pushing media streams to only one CDN address at a time, so if you need to stop pushing streams to multiple addresses, call this method multiple times. After you call this method, the SDK triggers the onRtmpStreamingStateChanged callback on the local client to report the state of the streaming.
|
|
4784
|
+
*
|
|
4785
|
+
* @param url The address of Media Push. The format is RTMP or RTMPS. The character length cannot exceed 1024 bytes. Special characters such as Chinese characters are not supported.
|
|
4786
|
+
*
|
|
4787
|
+
* @returns
|
|
4788
|
+
* 0: Success.
|
|
4789
|
+
* < 0: Failure.
|
|
4790
|
+
*/
|
|
4791
|
+
abstract stopRtmpStream(url: string): number;
|
|
4780
4792
|
/**
|
|
4781
4793
|
* Stops the local video mixing.
|
|
4782
4794
|
*
|
|
4783
4795
|
* After calling startLocalVideoTranscoder, call this method if you want to stop the local video mixing.
|
|
4796
|
+
*
|
|
4797
|
+
* @returns
|
|
4798
|
+
* 0: Success.
|
|
4799
|
+
* < 0: Failure.
|
|
4784
4800
|
*/
|
|
4785
4801
|
abstract stopLocalVideoTranscoder(): number;
|
|
4786
4802
|
/**
|
|
@@ -4791,6 +4807,10 @@ export declare abstract class IRtcEngine {
|
|
|
4791
4807
|
* @param sourceType The type of the video source. See VideoSourceType.
|
|
4792
4808
|
* On the desktop platforms, you can capture video from up to 4 cameras.
|
|
4793
4809
|
* @param config The configuration of the video capture. See CameraCapturerConfiguration.
|
|
4810
|
+
*
|
|
4811
|
+
* @returns
|
|
4812
|
+
* 0: Success.
|
|
4813
|
+
* < 0: Failure.
|
|
4794
4814
|
*/
|
|
4795
4815
|
abstract startCameraCapture(sourceType: VideoSourceType, config: CameraCapturerConfiguration): number;
|
|
4796
4816
|
/**
|
|
@@ -4836,8 +4856,7 @@ export declare abstract class IRtcEngine {
|
|
|
4836
4856
|
/**
|
|
4837
4857
|
* Adds event handlers
|
|
4838
4858
|
*
|
|
4839
|
-
* The SDK uses the IRtcEngineEventHandler class to send callbacks to the app. The app inherits the methods of this class to receive these callbacks. All methods in this class have default (empty) implementations. Therefore, apps only need to inherits callbacks according to the scenarios. In the callbacks, avoid time-consuming tasks or calling APIs that can block the thread, such as the sendStreamMessage method.
|
|
4840
|
-
* Otherwise, the SDK may not work properly.
|
|
4859
|
+
* The SDK uses the IRtcEngineEventHandler class to send callbacks to the app. The app inherits the methods of this class to receive these callbacks. All methods in this class have default (empty) implementations. Therefore, apps only need to inherits callbacks according to the scenarios. In the callbacks, avoid time-consuming tasks or calling APIs that can block the thread, such as the sendStreamMessage method. Otherwise, the SDK may not work properly.
|
|
4841
4860
|
*
|
|
4842
4861
|
* @param eventHandler Callback events to be added. See IRtcEngineEventHandler.
|
|
4843
4862
|
*
|
|
@@ -4927,8 +4946,7 @@ export declare abstract class IRtcEngine {
|
|
|
4927
4946
|
* Sends data stream messages to all users in a channel. The SDK has the following restrictions on this method:
|
|
4928
4947
|
* Up to 30 packets can be sent per second in a channel with each packet having a maximum size of 1 KB.
|
|
4929
4948
|
* Each client can send up to 6 KB of data per second.
|
|
4930
|
-
* Each user can have up to five data streams simultaneously. A successful method call triggers the onStreamMessage callback on the remote client, from which the remote user gets the stream message.
|
|
4931
|
-
* A failed method call triggers the onStreamMessageError callback on the remote client.
|
|
4949
|
+
* Each user can have up to five data streams simultaneously. A successful method call triggers the onStreamMessage callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the onStreamMessageError callback on the remote client.
|
|
4932
4950
|
* Ensure that you call createDataStream to create a data channel before calling this method.
|
|
4933
4951
|
* In live streaming scenarios, this method only applies to hosts.
|
|
4934
4952
|
*
|
|
@@ -4952,7 +4970,6 @@ export declare abstract class IRtcEngine {
|
|
|
4952
4970
|
* If you only want to add a watermark to the media push, you can call this method or the method.
|
|
4953
4971
|
* This method supports adding a watermark image in the PNG file format only. Supported pixel formats of the PNG image are RGBA, RGB, Palette, Gray, and Alpha_gray.
|
|
4954
4972
|
* If the dimensions of the PNG image differ from your settings in this method, the image will be cropped or zoomed to conform to your settings.
|
|
4955
|
-
* If you have enabled the local video preview by calling the startPreview method, you can use the visibleInPreview member to set whether or not the watermark is visible in the preview.
|
|
4956
4973
|
* If you have enabled the mirror mode for the local video, the watermark on the local video is also mirrored. To avoid mirroring the watermark, Agora recommends that you do not use the mirror and watermark functions for the local video at the same time. You can implement the watermark function in your application layer.
|
|
4957
4974
|
*
|
|
4958
4975
|
* @param watermarkUrl The local file path of the watermark image to be added. This method supports adding a watermark image from the local absolute or relative file path.
|
|
@@ -5025,11 +5042,11 @@ export declare abstract class IRtcEngine {
|
|
|
5025
5042
|
/**
|
|
5026
5043
|
* @ignore
|
|
5027
5044
|
*/
|
|
5028
|
-
abstract startAudioFrameDump(channelId: string,
|
|
5045
|
+
abstract startAudioFrameDump(channelId: string, uid: number, location: string, uuid: string, passwd: string, durationMs: number, autoUpload: boolean): number;
|
|
5029
5046
|
/**
|
|
5030
5047
|
* @ignore
|
|
5031
5048
|
*/
|
|
5032
|
-
abstract stopAudioFrameDump(channelId: string,
|
|
5049
|
+
abstract stopAudioFrameDump(channelId: string, uid: number, location: string): number;
|
|
5033
5050
|
/**
|
|
5034
5051
|
* Sets whether to enable the AI noise suppression function and set the noise suppression mode.
|
|
5035
5052
|
*
|
|
@@ -5060,7 +5077,7 @@ export declare abstract class IRtcEngine {
|
|
|
5060
5077
|
* To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
|
|
5061
5078
|
*
|
|
5062
5079
|
* @param appId The App ID of your project on Agora Console.
|
|
5063
|
-
* @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as
|
|
5080
|
+
* @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as null. Supported characters are as follow(89 in total):
|
|
5064
5081
|
* The 26 lowercase English letters: a to z.
|
|
5065
5082
|
* The 26 uppercase English letters: A to Z.
|
|
5066
5083
|
* All numeric characters: 0 to 9.
|
|
@@ -5086,7 +5103,7 @@ export declare abstract class IRtcEngine {
|
|
|
5086
5103
|
* All numeric characters: 0 to 9.
|
|
5087
5104
|
* Space
|
|
5088
5105
|
* "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
|
|
5089
|
-
* @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as
|
|
5106
|
+
* @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as null. Supported characters are (89 in total):
|
|
5090
5107
|
* The 26 lowercase English letters: a to z.
|
|
5091
5108
|
* The 26 uppercase English letters: A to Z.
|
|
5092
5109
|
* All numeric characters: 0 to 9.
|
|
@@ -5120,7 +5137,7 @@ export declare abstract class IRtcEngine {
|
|
|
5120
5137
|
* All numeric characters: 0 to 9.
|
|
5121
5138
|
* Space
|
|
5122
5139
|
* "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
|
|
5123
|
-
* @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as
|
|
5140
|
+
* @param userAccount The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as null. Supported characters are (89 in total):
|
|
5124
5141
|
* The 26 lowercase English letters: a to z.
|
|
5125
5142
|
* The 26 uppercase English letters: A to Z.
|
|
5126
5143
|
* All numeric characters: 0 to 9.
|
|
@@ -5142,7 +5159,7 @@ export declare abstract class IRtcEngine {
|
|
|
5142
5159
|
*
|
|
5143
5160
|
* @returns
|
|
5144
5161
|
* A pointer to the UserInfo instance, if the method call succeeds.
|
|
5145
|
-
* If the call fails, returns
|
|
5162
|
+
* If the call fails, returns null.
|
|
5146
5163
|
*/
|
|
5147
5164
|
abstract getUserInfoByUserAccount(userAccount: string): UserInfo;
|
|
5148
5165
|
/**
|
|
@@ -5154,7 +5171,7 @@ export declare abstract class IRtcEngine {
|
|
|
5154
5171
|
*
|
|
5155
5172
|
* @returns
|
|
5156
5173
|
* A pointer to the UserInfo instance, if the method call succeeds.
|
|
5157
|
-
* If the call fails, returns
|
|
5174
|
+
* If the call fails, returns null.
|
|
5158
5175
|
*/
|
|
5159
5176
|
abstract getUserInfoByUid(uid: number): UserInfo;
|
|
5160
5177
|
/**
|
|
@@ -5179,41 +5196,6 @@ export declare abstract class IRtcEngine {
|
|
|
5179
5196
|
* -8: Internal state error. Probably because the user is not a broadcaster.
|
|
5180
5197
|
*/
|
|
5181
5198
|
abstract startOrUpdateChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number;
|
|
5182
|
-
/**
|
|
5183
|
-
* Starts relaying media streams across channels. This method can be used to implement scenarios such as co-host across channels.
|
|
5184
|
-
*
|
|
5185
|
-
* Deprecated: This method is deprecated. Use startOrUpdateChannelMediaRelay instead. After a successful method call, the SDK triggers the onChannelMediaRelayStateChanged and onChannelMediaRelayEvent callbacks, and these callbacks return the state and events of the media stream relay.
|
|
5186
|
-
* If the onChannelMediaRelayStateChanged callback returns RelayStateRunning (2) and RelayOk (0), and the onChannelMediaRelayEvent callback returns RelayEventPacketSentToDestChannel (4), it means that the SDK starts relaying media streams between the source channel and the target channel.
|
|
5187
|
-
* If the onChannelMediaRelayStateChanged callback returns RelayStateFailure (3), an exception occurs during the media stream relay.
|
|
5188
|
-
* Call this method after joining the channel.
|
|
5189
|
-
* This method takes effect only when you are a host in a live streaming channel.
|
|
5190
|
-
* After a successful method call, if you want to call this method again, ensure that you call the stopChannelMediaRelay method to quit the current relay.
|
|
5191
|
-
* The relaying media streams across channels function needs to be enabled by contacting.
|
|
5192
|
-
* Agora does not support string user accounts in this API.
|
|
5193
|
-
*
|
|
5194
|
-
* @param configuration The configuration of the media stream relay. See ChannelMediaRelayConfiguration.
|
|
5195
|
-
*
|
|
5196
|
-
* @returns
|
|
5197
|
-
* 0: Success.
|
|
5198
|
-
* < 0: Failure.
|
|
5199
|
-
* -1: A general error occurs (no specified reason).
|
|
5200
|
-
* -2: The parameter is invalid.
|
|
5201
|
-
* -7: The method call was rejected. It may be because the SDK has not been initialized successfully, or the user role is not a host.
|
|
5202
|
-
* -8: Internal state error. Probably because the user is not a broadcaster.
|
|
5203
|
-
*/
|
|
5204
|
-
abstract startChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number;
|
|
5205
|
-
/**
|
|
5206
|
-
* Updates the channels for media stream relay.
|
|
5207
|
-
*
|
|
5208
|
-
* Deprecated: This method is deprecated. Use startOrUpdateChannelMediaRelay instead. After the media relay starts, if you want to relay the media stream to more channels, or leave the current relay channel, you can call this method. After a successful method call, the SDK triggers the onChannelMediaRelayEvent callback with the RelayEventPacketUpdateDestChannel (7) state code. Call the method after successfully calling the startChannelMediaRelay method and receiving onChannelMediaRelayStateChanged (RelayStateRunning, RelayOk); otherwise, the method call fails.
|
|
5209
|
-
*
|
|
5210
|
-
* @param configuration The configuration of the media stream relay. See ChannelMediaRelayConfiguration.
|
|
5211
|
-
*
|
|
5212
|
-
* @returns
|
|
5213
|
-
* 0: Success.
|
|
5214
|
-
* < 0: Failure.
|
|
5215
|
-
*/
|
|
5216
|
-
abstract updateChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number;
|
|
5217
5199
|
/**
|
|
5218
5200
|
* Stops the media stream relay. Once the relay stops, the host quits all the target channels.
|
|
5219
5201
|
*
|
|
@@ -5248,9 +5230,6 @@ export declare abstract class IRtcEngine {
|
|
|
5248
5230
|
* Sets the audio profile of the audio streams directly pushed to the CDN by the host.
|
|
5249
5231
|
*
|
|
5250
5232
|
* @param profile The audio profile, including the sampling rate, bitrate, encoding mode, and the number of channels. See AudioProfileType.
|
|
5251
|
-
*
|
|
5252
|
-
* @returns
|
|
5253
|
-
* < 0: Failure.
|
|
5254
5233
|
*/
|
|
5255
5234
|
abstract setDirectCdnStreamingAudioConfiguration(profile: AudioProfileType): number;
|
|
5256
5235
|
/**
|
|
@@ -5337,7 +5316,7 @@ export declare abstract class IRtcEngine {
|
|
|
5337
5316
|
/**
|
|
5338
5317
|
* Adjusts the volume of the custom audio track played remotely.
|
|
5339
5318
|
*
|
|
5340
|
-
* Ensure you have called the createCustomAudioTrack method to create a custom audio track before calling this method. If you want to change the volume of the audio
|
|
5319
|
+
* Ensure you have called the createCustomAudioTrack method to create a custom audio track before calling this method. If you want to change the volume of the audio played remotely, you need to call this method again.
|
|
5341
5320
|
*
|
|
5342
5321
|
* @param trackId The audio track ID. Set this parameter to the custom audio track ID returned in createCustomAudioTrack.
|
|
5343
5322
|
* @param volume The volume of the audio source. The value can range from 0 to 100. 0 means mute; 100 means the original volume.
|
|
@@ -5498,6 +5477,59 @@ export declare abstract class IRtcEngine {
|
|
|
5498
5477
|
* true : The current device supports the specified feature. false : The current device does not support the specified feature.
|
|
5499
5478
|
*/
|
|
5500
5479
|
abstract isFeatureAvailableOnDevice(type: FeatureType): boolean;
|
|
5480
|
+
/**
|
|
5481
|
+
* Starts screen capture.
|
|
5482
|
+
*
|
|
5483
|
+
* This method, as well as startScreenCaptureByDisplayId and startScreenCaptureByWindowId, can all be used to enable screen capture, with the following differences: startScreenCaptureByDisplayId and startScreenCaptureByWindowId only support capturing video from a single screen or window. By calling this method and specifying the sourceType parameter, you can capture multiple video streams used for local video mixing or multi-channel publishing.
|
|
5484
|
+
* If you call this method to start screen capture, Agora recommends that you call stopScreenCaptureBySourceType to stop the capture and avoid using stopScreenCapture.
|
|
5485
|
+
*
|
|
5486
|
+
* @param sourceType The type of the video source. See VideoSourceType.
|
|
5487
|
+
* Windows supports up to four screen capture video streams.
|
|
5488
|
+
* macOS supports only one screen capture video stream. You can only set this parameter to VideoSourceScreen (2).
|
|
5489
|
+
* @param config The configuration of the captured screen. See ScreenCaptureConfiguration.
|
|
5490
|
+
*
|
|
5491
|
+
* @returns
|
|
5492
|
+
* 0: Success.
|
|
5493
|
+
* < 0: Failure.
|
|
5494
|
+
*/
|
|
5495
|
+
abstract startScreenCaptureBySourceType(sourceType: VideoSourceType, config: ScreenCaptureConfiguration): number;
|
|
5496
|
+
/**
|
|
5497
|
+
* Stops screen capture.
|
|
5498
|
+
*
|
|
5499
|
+
* After calling startScreenCaptureBySourceType to start capturing video from one or more screens, you can call this method and set the sourceType parameter to stop capturing from the specified screens.
|
|
5500
|
+
* If you call startScreenCaptureByWindowId or startScreenCaptureByDisplayId to start screen capture, Agora recommends that you call stopScreenCapture to stop the capture and do not use this one.
|
|
5501
|
+
*
|
|
5502
|
+
* @param sourceType The type of the video source. See VideoSourceType.
|
|
5503
|
+
*
|
|
5504
|
+
* @returns
|
|
5505
|
+
* 0: Success.
|
|
5506
|
+
* < 0: Failure.
|
|
5507
|
+
*/
|
|
5508
|
+
abstract stopScreenCaptureBySourceType(sourceType: VideoSourceType): number;
|
|
5509
|
+
/**
|
|
5510
|
+
* Releases the IRtcEngine instance.
|
|
5511
|
+
*
|
|
5512
|
+
* This method releases all resources used by the Agora SDK. Use this method for apps in which users occasionally make voice or video calls. When users do not make calls, you can free up resources for other operations. After a successful method call, you can no longer use any method or callback in the SDK anymore. If you want to use the real-time communication functions again, you must call createAgoraRtcEngine and initialize to create a new IRtcEngine instance.
|
|
5513
|
+
* This method can be called synchronously. You need to wait for the resource of IRtcEngine to be released before performing other operations (for example, create a new IRtcEngine object). Therefore, Agora recommends calling this method in the child thread to avoid blocking the main thread.
|
|
5514
|
+
* Besides, Agora does not recommend you calling release in any callback of the SDK. Otherwise, the SDK cannot release the resources until the callbacks return results, which may result in a deadlock.
|
|
5515
|
+
*
|
|
5516
|
+
* @param sync Whether the method is called synchronously: true : Synchronous call. false : Asynchronous call. Currently this method only supports synchronous calls. Do not set this parameter to this value.
|
|
5517
|
+
*/
|
|
5518
|
+
abstract release(sync?: boolean): void;
|
|
5519
|
+
/**
|
|
5520
|
+
* Enables the local video preview.
|
|
5521
|
+
*
|
|
5522
|
+
* You can call this method to enable local video preview. Call this method after the following:
|
|
5523
|
+
* Call setupLocalVideo to initialize the local preview.
|
|
5524
|
+
* Call enableVideo to enable the video module.
|
|
5525
|
+
* The local preview enables the mirror mode by default.
|
|
5526
|
+
* After the local video preview is enabled, if you call leaveChannel to exit the channel, the local preview remains until you call stopPreview to disable it.
|
|
5527
|
+
*
|
|
5528
|
+
* @returns
|
|
5529
|
+
* 0: Success.
|
|
5530
|
+
* < 0: Failure.
|
|
5531
|
+
*/
|
|
5532
|
+
abstract startPreviewWithoutSourceType(): number;
|
|
5501
5533
|
/**
|
|
5502
5534
|
* Gets the IAudioDeviceManager object to manage audio devices.
|
|
5503
5535
|
*
|
|
@@ -5537,6 +5569,10 @@ export declare abstract class IRtcEngine {
|
|
|
5537
5569
|
* One ILocalSpatialAudioEngine object.
|
|
5538
5570
|
*/
|
|
5539
5571
|
abstract getLocalSpatialAudioEngine(): ILocalSpatialAudioEngine;
|
|
5572
|
+
/**
|
|
5573
|
+
* @ignore
|
|
5574
|
+
*/
|
|
5575
|
+
abstract getH265Transcoder(): IH265Transcoder;
|
|
5540
5576
|
/**
|
|
5541
5577
|
* Sends media metadata.
|
|
5542
5578
|
*
|
|
@@ -5619,7 +5655,7 @@ export declare enum QualityReportFormatType {
|
|
|
5619
5655
|
*/
|
|
5620
5656
|
export declare enum MediaDeviceStateType {
|
|
5621
5657
|
/**
|
|
5622
|
-
*
|
|
5658
|
+
* 0: The device is ready for use.
|
|
5623
5659
|
*/
|
|
5624
5660
|
MediaDeviceStateIdle = 0,
|
|
5625
5661
|
/**
|