agora-electron-sdk 4.3.0 → 4.3.1-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 +9 -0
- package/gulpfile.js +11 -4
- package/js/Private/AgoraBase.js +121 -24
- package/js/Private/AgoraMediaBase.js +15 -3
- package/js/Private/IAgoraRtcEngine.js +3 -3
- package/js/Private/impl/AgoraMediaBaseImpl.js +11 -1
- package/js/Private/impl/IAgoraMediaEngineImpl.js +28 -0
- package/js/Private/impl/IAgoraMediaPlayerImpl.js +2 -2
- package/js/Private/impl/IAgoraMusicContentCenterImpl.js +1 -1
- package/js/Private/impl/IAgoraRtcEngineExImpl.js +37 -0
- package/js/Private/impl/IAgoraRtcEngineImpl.js +123 -11
- package/js/Private/impl/IAudioDeviceManagerImpl.js +2 -2
- package/js/Private/internal/IrisApiEngine.js +6 -0
- package/js/Private/internal/MediaEngineInternal.js +25 -5
- package/js/Private/internal/MediaPlayerInternal.js +0 -6
- package/js/Private/internal/MusicContentCenterInternal.js +0 -4
- package/js/Private/internal/RtcEngineExInternal.js +10 -14
- package/js/Private/ti/AgoraMediaBase-ti.js +5 -1
- package/js/Private/ti/IAgoraRtcEngine-ti.js +1 -0
- package/package.json +5 -3
- package/scripts/buildJS.js +3 -3
- package/scripts/clean.js +6 -35
- package/scripts/downloadPrebuild.js +50 -3
- package/scripts/synclib.js +32 -12
- package/scripts/util.js +29 -0
- package/ts/Private/AgoraBase.ts +146 -33
- package/ts/Private/AgoraMediaBase.ts +77 -47
- package/ts/Private/IAgoraLog.ts +1 -1
- package/ts/Private/IAgoraMediaEngine.ts +35 -5
- package/ts/Private/IAgoraMediaPlayer.ts +10 -1
- package/ts/Private/IAgoraRtcEngine.ts +147 -102
- package/ts/Private/IAgoraRtcEngineEx.ts +39 -4
- package/ts/Private/IAudioDeviceManager.ts +2 -2
- package/ts/Private/extension/IAgoraMediaEngineExtension.ts +3 -1
- package/ts/Private/impl/AgoraMediaBaseImpl.ts +15 -0
- package/ts/Private/impl/IAgoraMediaEngineImpl.ts +37 -0
- package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +2 -2
- package/ts/Private/impl/IAgoraMusicContentCenterImpl.ts +1 -1
- package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +53 -0
- package/ts/Private/impl/IAgoraRtcEngineImpl.ts +153 -11
- package/ts/Private/impl/IAudioDeviceManagerImpl.ts +2 -2
- package/ts/Private/internal/IrisApiEngine.ts +11 -1
- package/ts/Private/internal/MediaEngineInternal.ts +31 -0
- package/ts/Private/internal/MediaPlayerInternal.ts +0 -14
- package/ts/Private/internal/MusicContentCenterInternal.ts +0 -7
- package/ts/Private/internal/RtcEngineExInternal.ts +9 -28
- package/ts/Private/ti/AgoraMediaBase-ti.ts +5 -0
- package/ts/Private/ti/IAgoraRtcEngine-ti.ts +1 -0
- package/types/Private/AgoraBase.d.ts +146 -36
- package/types/Private/AgoraBase.d.ts.map +1 -1
- package/types/Private/AgoraMediaBase.d.ts +77 -48
- package/types/Private/AgoraMediaBase.d.ts.map +1 -1
- package/types/Private/IAgoraLog.d.ts +1 -1
- package/types/Private/IAgoraMediaEngine.d.ts +33 -6
- package/types/Private/IAgoraMediaEngine.d.ts.map +1 -1
- package/types/Private/IAgoraMediaPlayer.d.ts +10 -1
- package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -1
- package/types/Private/IAgoraRtcEngine.d.ts +132 -103
- package/types/Private/IAgoraRtcEngine.d.ts.map +1 -1
- package/types/Private/IAgoraRtcEngineEx.d.ts +33 -4
- package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -1
- package/types/Private/IAudioDeviceManager.d.ts +2 -2
- package/types/Private/extension/IAgoraMediaEngineExtension.d.ts +2 -2
- package/types/Private/extension/IAgoraMediaEngineExtension.d.ts.map +1 -1
- package/types/Private/impl/AgoraMediaBaseImpl.d.ts +2 -1
- package/types/Private/impl/AgoraMediaBaseImpl.d.ts.map +1 -1
- package/types/Private/impl/IAgoraMediaEngineImpl.d.ts +5 -1
- package/types/Private/impl/IAgoraMediaEngineImpl.d.ts.map +1 -1
- package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts +4 -0
- package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -1
- package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +18 -1
- package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -1
- package/types/Private/internal/IrisApiEngine.d.ts +3 -2
- package/types/Private/internal/IrisApiEngine.d.ts.map +1 -1
- package/types/Private/internal/MediaEngineInternal.d.ts +4 -1
- package/types/Private/internal/MediaEngineInternal.d.ts.map +1 -1
- package/types/Private/internal/MediaPlayerInternal.d.ts +0 -2
- package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -1
- package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -1
- package/types/Private/internal/RtcEngineExInternal.d.ts +1 -5
- package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
- package/types/Private/ti/AgoraMediaBase-ti.d.ts +1 -0
- package/types/Private/ti/AgoraMediaBase-ti.d.ts.map +1 -1
- package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import './extension/IAgoraRtcEngineExtension';
|
|
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';
|
|
2
|
+
import { AudienceLatencyLevelType, AudioAinsMode, AudioEffectPreset, AudioEncodedFrameObserverConfig, AudioProfileType, AudioRecordingConfiguration, AudioSampleRateType, AudioScenarioType, AudioSessionOperationRestriction, AudioVolumeInfo, BeautyOptions, CameraFocalLengthType, CameraStabilizationMode, CaptureBrightnessLevelType, ChannelMediaRelayConfiguration, ChannelMediaRelayError, ChannelMediaRelayState, ChannelProfileType, ClientRoleChangeFailedReason, ClientRoleOptions, ClientRoleType, CodecCapInfo, ColorEnhanceOptions, ConnectionChangedReasonType, ConnectionStateType, DataStreamConfig, DeviceInfo, DownlinkNetworkInfo, EarMonitoringFilterType, EchoTestConfiguration, EncryptionConfig, EncryptionErrorType, ErrorCodeType, FocalLengthInfo, 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
4
|
import { IH265Transcoder } from './IAgoraH265Transcoder';
|
|
5
5
|
import { LogConfig, LogFilterType, LogLevel } from './IAgoraLog';
|
|
@@ -426,6 +426,10 @@ export declare class RemoteAudioStats {
|
|
|
426
426
|
* @ignore
|
|
427
427
|
*/
|
|
428
428
|
rxAudioBytes?: number;
|
|
429
|
+
/**
|
|
430
|
+
* End-to-end audio delay (in milliseconds), which refers to the time from when the audio is captured by the remote user to when it is played by the local user.
|
|
431
|
+
*/
|
|
432
|
+
e2eDelay?: number;
|
|
429
433
|
}
|
|
430
434
|
/**
|
|
431
435
|
* Statistics of the remote video stream.
|
|
@@ -688,11 +692,11 @@ export declare class PublisherConfiguration {
|
|
|
688
692
|
*/
|
|
689
693
|
export declare enum CameraDirection {
|
|
690
694
|
/**
|
|
691
|
-
* The rear camera.
|
|
695
|
+
* 0: The rear camera.
|
|
692
696
|
*/
|
|
693
697
|
CameraRear = 0,
|
|
694
698
|
/**
|
|
695
|
-
* The front camera.
|
|
699
|
+
* 1: (Default) The front camera.
|
|
696
700
|
*/
|
|
697
701
|
CameraFront = 1
|
|
698
702
|
}
|
|
@@ -722,17 +726,25 @@ export declare class CameraCapturerConfiguration {
|
|
|
722
726
|
*/
|
|
723
727
|
cameraDirection?: CameraDirection;
|
|
724
728
|
/**
|
|
725
|
-
*
|
|
729
|
+
* @ignore
|
|
730
|
+
*/
|
|
731
|
+
cameraFocalLengthType?: CameraFocalLengthType;
|
|
732
|
+
/**
|
|
733
|
+
* The camera ID. The maximum length is MaxDeviceIdLengthType.
|
|
726
734
|
*/
|
|
727
735
|
deviceId?: string;
|
|
728
736
|
/**
|
|
729
|
-
*
|
|
737
|
+
* @ignore
|
|
730
738
|
*/
|
|
731
|
-
|
|
739
|
+
cameraId?: string;
|
|
732
740
|
/**
|
|
733
|
-
* Whether to follow the video aspect ratio set in setVideoEncoderConfiguration : true : (Default) Follow the set video aspect ratio. The SDK crops the captured video according to the set video aspect ratio and synchronously changes the local preview screen and the video frame in onCaptureVideoFrame and onPreEncodeVideoFrame. false : Do not follow the system default audio playback device. The SDK does not change the aspect ratio of the captured video frame.
|
|
741
|
+
* (Optional) Whether to follow the video aspect ratio set in setVideoEncoderConfiguration : true : (Default) Follow the set video aspect ratio. The SDK crops the captured video according to the set video aspect ratio and synchronously changes the local preview screen and the video frame in onCaptureVideoFrame and onPreEncodeVideoFrame. false : Do not follow the system default audio playback device. The SDK does not change the aspect ratio of the captured video frame.
|
|
734
742
|
*/
|
|
735
743
|
followEncodeDimensionRatio?: boolean;
|
|
744
|
+
/**
|
|
745
|
+
* (Optional) The format of the video frame. See VideoFormat.
|
|
746
|
+
*/
|
|
747
|
+
format?: VideoFormat;
|
|
736
748
|
}
|
|
737
749
|
/**
|
|
738
750
|
* The configuration of the captured screen.
|
|
@@ -981,6 +993,10 @@ export declare class ChannelMediaOptions {
|
|
|
981
993
|
* @ignore
|
|
982
994
|
*/
|
|
983
995
|
publishMixedAudioTrack?: boolean;
|
|
996
|
+
/**
|
|
997
|
+
* @ignore
|
|
998
|
+
*/
|
|
999
|
+
publishLipSyncTrack?: boolean;
|
|
984
1000
|
/**
|
|
985
1001
|
* 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.
|
|
986
1002
|
*/
|
|
@@ -1014,7 +1030,7 @@ export declare class ChannelMediaOptions {
|
|
|
1014
1030
|
*/
|
|
1015
1031
|
channelProfile?: ChannelProfileType;
|
|
1016
1032
|
/**
|
|
1017
|
-
*
|
|
1033
|
+
* Delay (in milliseconds) for sending audio frames. You can use this parameter to set the delay of the audio frames that need to be sent, to ensure audio and video synchronization. To switch off the delay, set the value to 0.
|
|
1018
1034
|
*/
|
|
1019
1035
|
audioDelayMs?: number;
|
|
1020
1036
|
/**
|
|
@@ -1037,7 +1053,7 @@ export declare class ChannelMediaOptions {
|
|
|
1037
1053
|
publishRhythmPlayerTrack?: boolean;
|
|
1038
1054
|
/**
|
|
1039
1055
|
* Whether to enable interactive mode: true : Enable interactive mode. Once this mode is enabled and the user role is set as audience, the user can receive remote video streams with low latency. false :Do not enable interactive mode. If this mode is disabled, the user receives the remote video streams in default settings.
|
|
1040
|
-
* This parameter only applies to scenarios
|
|
1056
|
+
* This parameter only applies to co-streaming scenarios. The cohosts need to call the joinChannelEx method to join the other host's channel as an audience member, and set isInteractiveAudience to true.
|
|
1041
1057
|
* This parameter takes effect only when the user role is ClientRoleAudience.
|
|
1042
1058
|
*/
|
|
1043
1059
|
isInteractiveAudience?: boolean;
|
|
@@ -1348,9 +1364,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1348
1364
|
/**
|
|
1349
1365
|
* Occurs when the local video stream state changes.
|
|
1350
1366
|
*
|
|
1351
|
-
* When the
|
|
1352
|
-
* The app switches to the background, and the system gets the camera resource.
|
|
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.
|
|
1367
|
+
* When the status of the local video changes, the SDK triggers this callback to report the current local video state and the reason for the state change.
|
|
1354
1368
|
*
|
|
1355
1369
|
* @param source The type of the video source. See VideoSourceType.
|
|
1356
1370
|
* @param state The state of the local video, see LocalVideoStreamState.
|
|
@@ -1442,11 +1456,11 @@ export interface IRtcEngineEventHandler {
|
|
|
1442
1456
|
/**
|
|
1443
1457
|
* Occurs when a specific remote user enables/disables the local video capturing function.
|
|
1444
1458
|
*
|
|
1445
|
-
* The SDK triggers this callback when the remote user resumes or stops capturing the video stream by calling the enableLocalVideo method.
|
|
1459
|
+
* Deprecated: This callback is deprecated, use the following enumerations in the onRemoteVideoStateChanged callback: RemoteVideoStateStopped (0) and RemoteVideoStateReasonRemoteMuted (5). RemoteVideoStateDecoding (2) and RemoteVideoStateReasonRemoteUnmuted (6). The SDK triggers this callback when the remote user resumes or stops capturing the video stream by calling the enableLocalVideo method.
|
|
1446
1460
|
*
|
|
1447
1461
|
* @param connection The connection information. See RtcConnection.
|
|
1448
1462
|
* @param remoteUid The user ID of the remote user.
|
|
1449
|
-
* @param enabled Whether the specified remote user enables/disables
|
|
1463
|
+
* @param enabled Whether the specified remote user enables/disables local video capturing: true : The video module is enabled. Other users in the channel can see the video of this remote user. false : The video module is disabled. Other users in the channel can no longer receive the video stream from this remote user, while this remote user can still receive the video streams from other users.
|
|
1450
1464
|
*/
|
|
1451
1465
|
onUserEnableLocalVideo?(connection: RtcConnection, remoteUid: number, enabled: boolean): void;
|
|
1452
1466
|
/**
|
|
@@ -1569,7 +1583,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1569
1583
|
* @param connection The connection information. See RtcConnection.
|
|
1570
1584
|
* @param uid The ID of the remote user sending the message.
|
|
1571
1585
|
* @param streamId The stream ID of the received message.
|
|
1572
|
-
* @param code
|
|
1586
|
+
* @param code The error code. See ErrorCodeType.
|
|
1573
1587
|
* @param missed The number of lost messages.
|
|
1574
1588
|
* @param cached Number of incoming cached messages when the data stream is interrupted.
|
|
1575
1589
|
*/
|
|
@@ -1940,6 +1954,10 @@ export interface IRtcEngineEventHandler {
|
|
|
1940
1954
|
* @ignore
|
|
1941
1955
|
*/
|
|
1942
1956
|
onTranscodedStreamLayoutInfo?(connection: RtcConnection, uid: number, width: number, height: number, layoutCount: number, layoutlist: VideoLayout[]): void;
|
|
1957
|
+
/**
|
|
1958
|
+
* @ignore
|
|
1959
|
+
*/
|
|
1960
|
+
onAudioMetadataReceived?(connection: RtcConnection, uid: number, metadata: string, length: number): void;
|
|
1943
1961
|
/**
|
|
1944
1962
|
* The event callback of the extension.
|
|
1945
1963
|
*
|
|
@@ -1954,7 +1972,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1954
1972
|
/**
|
|
1955
1973
|
* Occurs when the extension is enabled.
|
|
1956
1974
|
*
|
|
1957
|
-
*
|
|
1975
|
+
* The extension triggers this callback after it is successfully enabled.
|
|
1958
1976
|
*
|
|
1959
1977
|
* @param provider The name of the extension provider.
|
|
1960
1978
|
* @param extension The name of the extension.
|
|
@@ -1963,7 +1981,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1963
1981
|
/**
|
|
1964
1982
|
* Occurs when the extension is disabled.
|
|
1965
1983
|
*
|
|
1966
|
-
*
|
|
1984
|
+
* The extension triggers this callback after it is successfully destroyed.
|
|
1967
1985
|
*
|
|
1968
1986
|
* @param provider The name of the extension provider.
|
|
1969
1987
|
* @param extension The name of the extension.
|
|
@@ -1972,7 +1990,7 @@ export interface IRtcEngineEventHandler {
|
|
|
1972
1990
|
/**
|
|
1973
1991
|
* Occurs when the extension runs incorrectly.
|
|
1974
1992
|
*
|
|
1975
|
-
*
|
|
1993
|
+
* In case of extension enabling failure or runtime errors, the extension triggers this callback and reports the error code along with the reasons.
|
|
1976
1994
|
*
|
|
1977
1995
|
* @param provider The name of the extension provider.
|
|
1978
1996
|
* @param extension The name of the extension.
|
|
@@ -2418,38 +2436,7 @@ export declare abstract class IRtcEngine {
|
|
|
2418
2436
|
*/
|
|
2419
2437
|
abstract preloadChannel(token: string, channelId: string, uid: number): number;
|
|
2420
2438
|
/**
|
|
2421
|
-
*
|
|
2422
|
-
*
|
|
2423
|
-
* When audience members need to switch between different channels frequently, calling the method can help shortening the time of joining a channel, thus reducing the time it takes for audience members to hear and see the host. As it may take a while for the SDK to preload a channel, Agora recommends that you call this method as soon as possible after obtaining the channel name and user ID to join a channel. If you join a preloaded channel, leave it and want to rejoin the same channel, you do not need to call this method unless the token for preloading the channel expires.
|
|
2424
|
-
* Failing to preload a channel does not mean that you can't join a channel, nor will it increase the time of joining a channel.
|
|
2425
|
-
* One IRtcEngine instance supports preloading 20 channels at most. When exceeding this limit, the latest 20 preloaded channels take effect.
|
|
2426
|
-
* When calling this method, ensure you set the user role as audience and do not set the audio scenario as AudioScenarioChorus, otherwise, this method does not take effect.
|
|
2427
|
-
* You also need to make sure that the User Account, channel ID and token passed in for preloading are the same as the values passed in when joining the channel, otherwise, this method does not take effect.
|
|
2428
|
-
*
|
|
2429
|
-
* @param token The token generated on your server for authentication. When the token for preloading channels expires, you can update the token based on the number of channels you preload.
|
|
2430
|
-
* When preloading one channel, calling this method to pass in the new token.
|
|
2431
|
-
* When preloading more than one channels:
|
|
2432
|
-
* If you use a wildcard token for all preloaded channels, call updatePreloadChannelToken to update the token. When generating a wildcard token, ensure the user ID is not set as 0.
|
|
2433
|
-
* If you use different tokens to preload different channels, call this method to pass in your user ID, channel name and the new token.
|
|
2434
|
-
* @param channelId The channel name that you want to preload. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):
|
|
2435
|
-
* All lowercase English letters: a to z.
|
|
2436
|
-
* All uppercase English letters: A to Z.
|
|
2437
|
-
* All numeric characters: 0 to 9.
|
|
2438
|
-
* Space
|
|
2439
|
-
* "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
|
|
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):
|
|
2441
|
-
* The 26 lowercase English letters: a to z.
|
|
2442
|
-
* The 26 uppercase English letters: A to Z.
|
|
2443
|
-
* All numeric characters: 0 to 9.
|
|
2444
|
-
* Space
|
|
2445
|
-
* "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
|
|
2446
|
-
*
|
|
2447
|
-
* @returns
|
|
2448
|
-
* 0: Success.
|
|
2449
|
-
* < 0: Failure.
|
|
2450
|
-
* -2: The parameter is invalid. For example, the User Account is empty. You need to pass in a valid parameter and join the channel again.
|
|
2451
|
-
* -7: The IRtcEngine object has not been initialized. You need to initialize the IRtcEngine object before calling this method.
|
|
2452
|
-
* -102: The channel name is invalid. You need to pass in a valid channel name and join the channel again.
|
|
2439
|
+
* @ignore
|
|
2453
2440
|
*/
|
|
2454
2441
|
abstract preloadChannelWithUserAccount(token: string, channelId: string, userAccount: string): number;
|
|
2455
2442
|
/**
|
|
@@ -2474,9 +2461,10 @@ export declare abstract class IRtcEngine {
|
|
|
2474
2461
|
* The remote client: onUserJoined, if the user joining the channel is in the Communication profile or is a host in the Live-broadcasting profile. When the connection between the client and Agora's server is interrupted due to poor network conditions, the SDK tries reconnecting to the server. When the local client successfully rejoins the channel, the SDK triggers the onRejoinChannelSuccess callback on the local client.
|
|
2475
2462
|
* This method allows users to join only one channel at a time.
|
|
2476
2463
|
* Ensure that the app ID you use to generate the token is the same app ID that you pass in the initialize method; otherwise, you may fail to join the channel by token.
|
|
2464
|
+
* If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
|
|
2477
2465
|
*
|
|
2478
2466
|
* @param token The token generated on your server for authentication. If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel.
|
|
2479
|
-
* @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters:
|
|
2467
|
+
* @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):
|
|
2480
2468
|
* All lowercase English letters: a to z.
|
|
2481
2469
|
* All uppercase English letters: A to Z.
|
|
2482
2470
|
* All numeric characters: 0 to 9.
|
|
@@ -2605,10 +2593,7 @@ export declare abstract class IRtcEngine {
|
|
|
2605
2593
|
/**
|
|
2606
2594
|
* Enables the video module.
|
|
2607
2595
|
*
|
|
2608
|
-
*
|
|
2609
|
-
* This method enables the internal engine and is valid after leaving the channel.
|
|
2610
|
-
* Calling this method will reset the entire engine, resulting in a slow response time. Instead of callling this method, you can independently control a specific video module based on your actual needs using the following methods: enableLocalVideo : Whether to enable the camera to create the local video stream. muteLocalVideoStream : Whether to publish the local video stream. muteRemoteVideoStream : Whether to subscribe to and play the remote video stream. muteAllRemoteVideoStreams : Whether to subscribe to and play all remote video streams.
|
|
2611
|
-
* A successful call of this method resets enableLocalVideo, muteRemoteVideoStream, and muteAllRemoteVideoStreams. Proceed it with caution.
|
|
2596
|
+
* The video module is disabled by default, call this method to enable it. If you need to disable the video module later, you need to call disableVideo.
|
|
2612
2597
|
*
|
|
2613
2598
|
* @returns
|
|
2614
2599
|
* 0: Success.
|
|
@@ -2694,15 +2679,13 @@ export declare abstract class IRtcEngine {
|
|
|
2694
2679
|
* Sets the image enhancement options.
|
|
2695
2680
|
*
|
|
2696
2681
|
* Enables or disables image enhancement, and sets the options.
|
|
2697
|
-
* Call this method
|
|
2682
|
+
* Call this method after calling enableVideo or startPreview.
|
|
2698
2683
|
* This method relies on the image enhancement dynamic library libagora_clear_vision_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
|
|
2699
2684
|
* This feature has high requirements on device performance. When calling this method, the SDK automatically checks the capabilities of the current device.
|
|
2700
2685
|
*
|
|
2701
2686
|
* @param enabled Whether to enable the image enhancement function: true : Enable the image enhancement function. false : (Default) Disable the image enhancement function.
|
|
2702
2687
|
* @param options The image enhancement options. See BeautyOptions.
|
|
2703
|
-
* @param type
|
|
2704
|
-
* The default value is UnknownMediaSource.
|
|
2705
|
-
* If you want to use the second camera to capture video, set this parameter to SecondaryCameraSource.
|
|
2688
|
+
* @param type Source type of the extension. See MediaSourceType.
|
|
2706
2689
|
*
|
|
2707
2690
|
* @returns
|
|
2708
2691
|
* 0: Success.
|
|
@@ -2722,7 +2705,7 @@ export declare abstract class IRtcEngine {
|
|
|
2722
2705
|
* When you use an external video source to implement custom video capture, or send an external video source to the SDK, Agora recommends using setExtensionProperty.
|
|
2723
2706
|
* This method relies on the image enhancement dynamic library libagora_clear_vision_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
|
|
2724
2707
|
*
|
|
2725
|
-
* @param enabled Whether to enable low-light enhancement
|
|
2708
|
+
* @param enabled Whether to enable low-light enhancement: true : Enable low-light enhancement. false : (Default) Disable low-light enhancement.
|
|
2726
2709
|
* @param options The low-light enhancement options. See LowlightEnhanceOptions.
|
|
2727
2710
|
* @param type The type of the video source. See MediaSourceType.
|
|
2728
2711
|
*
|
|
@@ -2774,7 +2757,7 @@ export declare abstract class IRtcEngine {
|
|
|
2774
2757
|
/**
|
|
2775
2758
|
* Enables/Disables the virtual background.
|
|
2776
2759
|
*
|
|
2777
|
-
* The virtual background feature enables the local user to replace their original background with a static image, dynamic video, blurred background, or portrait-background segmentation to achieve picture-in-picture effect. Once the virtual background feature is enabled, all users in the channel can see the custom background. Call this method
|
|
2760
|
+
* The virtual background feature enables the local user to replace their original background with a static image, dynamic video, blurred background, or portrait-background segmentation to achieve picture-in-picture effect. Once the virtual background feature is enabled, all users in the channel can see the custom background. Call this method after calling enableVideo or startPreview.
|
|
2778
2761
|
* This feature has high requirements on device performance. When calling this method, the SDK automatically checks the capabilities of the current device. Agora recommends you use virtual background on devices with the following processors:
|
|
2779
2762
|
* Devices with an i5 CPU and better
|
|
2780
2763
|
* Agora recommends that you use this feature in scenarios that meet the following conditions:
|
|
@@ -3013,7 +2996,7 @@ export declare abstract class IRtcEngine {
|
|
|
3013
2996
|
/**
|
|
3014
2997
|
* Sets the default video stream type to subscribe to.
|
|
3015
2998
|
*
|
|
3016
|
-
* The SDK
|
|
2999
|
+
* 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 sending end, which means the sender does not actively send low-quality video stream. The receiver with the role of the host can initiate a low-quality video stream request by calling this method, and upon receiving the request, the sending end automatically starts sending the low-quality video stream.
|
|
3017
3000
|
* Call this method before joining a channel. The SDK does not support changing the default subscribed video stream type after joining a channel.
|
|
3018
3001
|
* If you call both this method and setRemoteVideoStreamType, the setting of setRemoteVideoStreamType takes effect.
|
|
3019
3002
|
*
|
|
@@ -3040,7 +3023,11 @@ export declare abstract class IRtcEngine {
|
|
|
3040
3023
|
/**
|
|
3041
3024
|
* Sets the video stream type to subscribe to.
|
|
3042
3025
|
*
|
|
3043
|
-
*
|
|
3026
|
+
* The SDK defaults to enabling low-quality video stream adaptive mode (AutoSimulcastStream) on the sending end, which means the sender does not actively send low-quality video stream. The receiver with the role of the host can initiate a low-quality video stream request by calling this method, and upon receiving the request, the sending end automatically starts sending 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.
|
|
3027
|
+
* You can call this method either before or after joining a channel.
|
|
3028
|
+
* If the publisher has already called setDualStreamMode and set mode to DisableSimulcastStream (never send low-quality video stream), calling this method will not take effect, you should call setDualStreamMode again on the sending end and adjust the settings.
|
|
3029
|
+
* Calling this method on the receiving end of the audience role will not take effect.
|
|
3030
|
+
* If you call both setRemoteVideoStreamType and setRemoteDefaultVideoStreamType, the settings in setRemoteVideoStreamType take effect.
|
|
3044
3031
|
*
|
|
3045
3032
|
* @param uid The user ID.
|
|
3046
3033
|
* @param streamType The video stream type, see VideoStreamType.
|
|
@@ -3410,6 +3397,21 @@ export declare abstract class IRtcEngine {
|
|
|
3410
3397
|
* < 0: Failure.
|
|
3411
3398
|
*/
|
|
3412
3399
|
abstract setAudioMixingPitch(pitch: number): number;
|
|
3400
|
+
/**
|
|
3401
|
+
* Sets the playback speed of the current audio file.
|
|
3402
|
+
*
|
|
3403
|
+
* Ensure you call this method after calling startAudioMixing receiving the onAudioMixingStateChanged callback reporting the state as AudioMixingStatePlaying.
|
|
3404
|
+
*
|
|
3405
|
+
* @param speed The playback speed. Agora recommends that you set this to a value between 50 and 400, defined as follows:
|
|
3406
|
+
* 50: Half the original speed.
|
|
3407
|
+
* 100: The original speed.
|
|
3408
|
+
* 400: 4 times the original speed.
|
|
3409
|
+
*
|
|
3410
|
+
* @returns
|
|
3411
|
+
* 0: Success.
|
|
3412
|
+
* < 0: Failure.
|
|
3413
|
+
*/
|
|
3414
|
+
abstract setAudioMixingPlaybackSpeed(speed: number): number;
|
|
3413
3415
|
/**
|
|
3414
3416
|
* Retrieves the volume of the audio effects.
|
|
3415
3417
|
*
|
|
@@ -3921,6 +3923,10 @@ export declare abstract class IRtcEngine {
|
|
|
3921
3923
|
* @ignore
|
|
3922
3924
|
*/
|
|
3923
3925
|
abstract uploadLogFile(): string;
|
|
3926
|
+
/**
|
|
3927
|
+
* @ignore
|
|
3928
|
+
*/
|
|
3929
|
+
abstract writeLog(level: LogLevel, fmt: string): number;
|
|
3924
3930
|
/**
|
|
3925
3931
|
* Updates the display mode of the local video view.
|
|
3926
3932
|
*
|
|
@@ -3986,7 +3992,7 @@ export declare abstract class IRtcEngine {
|
|
|
3986
3992
|
/**
|
|
3987
3993
|
* Sets dual-stream mode configuration on the sender side.
|
|
3988
3994
|
*
|
|
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
|
|
3995
|
+
* 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 receiving end with the role of the host can initiate a low-quality video stream request by calling setRemoteVideoStreamType, and upon receiving the request, the sending end automatically starts sending low-quality stream.
|
|
3990
3996
|
* 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).
|
|
3991
3997
|
* 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:
|
|
3992
3998
|
* When calling this method and setting mode to DisableSimulcastStream, it has the same effect as calling enableDualStreamMode and setting enabled to false.
|
|
@@ -4224,9 +4230,7 @@ export declare abstract class IRtcEngine {
|
|
|
4224
4230
|
* @param provider The name of the extension provider.
|
|
4225
4231
|
* @param extension The name of the extension.
|
|
4226
4232
|
* @param enable Whether to enable the extension: true : Enable the extension. false : Disable the extension.
|
|
4227
|
-
* @param type
|
|
4228
|
-
* The default value is UnknownMediaSource.
|
|
4229
|
-
* If you want to use the second camera to capture video, set this parameter to SecondaryCameraSource.
|
|
4233
|
+
* @param type Source type of the extension. See MediaSourceType.
|
|
4230
4234
|
*
|
|
4231
4235
|
* @returns
|
|
4232
4236
|
* 0: Success.
|
|
@@ -4243,9 +4247,7 @@ export declare abstract class IRtcEngine {
|
|
|
4243
4247
|
* @param extension The name of the extension.
|
|
4244
4248
|
* @param key The key of the extension.
|
|
4245
4249
|
* @param value The value of the extension key.
|
|
4246
|
-
* @param type
|
|
4247
|
-
* The default value is UnknownMediaSource.
|
|
4248
|
-
* If you want to use the second camera to capture video, set this parameter to SecondaryCameraSource.
|
|
4250
|
+
* @param type Source type of the extension. See MediaSourceType.
|
|
4249
4251
|
*
|
|
4250
4252
|
* @returns
|
|
4251
4253
|
* 0: Success.
|
|
@@ -4307,7 +4309,7 @@ export declare abstract class IRtcEngine {
|
|
|
4307
4309
|
* You can call this method either before or after joining a channel.
|
|
4308
4310
|
*
|
|
4309
4311
|
* @param enabled Enables or disables in-ear monitoring. true : Enables in-ear monitoring. false : (Default) Disables in-ear monitoring.
|
|
4310
|
-
* @param includeAudioFilters The audio filter of in-ear monitoring
|
|
4312
|
+
* @param includeAudioFilters The audio filter types of in-ear monitoring. See EarMonitoringFilterType.
|
|
4311
4313
|
*
|
|
4312
4314
|
* @returns
|
|
4313
4315
|
* 0: Success.
|
|
@@ -4356,13 +4358,13 @@ export declare abstract class IRtcEngine {
|
|
|
4356
4358
|
/**
|
|
4357
4359
|
* Registers an extension.
|
|
4358
4360
|
*
|
|
4359
|
-
* After the extension is loaded, you can call this method to register the extension.
|
|
4361
|
+
* After the extension is loaded, you can call this method to register the extension.
|
|
4362
|
+
* Before calling this method, you need to call loadExtensionProvider to load the extension first.
|
|
4363
|
+
* For extensions external to the SDK (such as those from Extensions Marketplace and SDK Extensions), you need to call this method before calling setExtensionProperty.
|
|
4360
4364
|
*
|
|
4361
4365
|
* @param provider The name of the extension provider.
|
|
4362
4366
|
* @param extension The name of the extension.
|
|
4363
|
-
* @param type
|
|
4364
|
-
* The default value is UnknownMediaSource.
|
|
4365
|
-
* If you want to use the second camera to capture video, set this parameter to SecondaryCameraSource.
|
|
4367
|
+
* @param type Source type of the extension. See MediaSourceType.
|
|
4366
4368
|
*
|
|
4367
4369
|
* @returns
|
|
4368
4370
|
* 0: Success.
|
|
@@ -4476,6 +4478,10 @@ export declare abstract class IRtcEngine {
|
|
|
4476
4478
|
* @ignore
|
|
4477
4479
|
*/
|
|
4478
4480
|
abstract setCameraAutoExposureFaceModeEnabled(enabled: boolean): number;
|
|
4481
|
+
/**
|
|
4482
|
+
* @ignore
|
|
4483
|
+
*/
|
|
4484
|
+
abstract setCameraStabilizationMode(mode: CameraStabilizationMode): number;
|
|
4479
4485
|
/**
|
|
4480
4486
|
* @ignore
|
|
4481
4487
|
*/
|
|
@@ -4492,6 +4498,27 @@ export declare abstract class IRtcEngine {
|
|
|
4492
4498
|
* @ignore
|
|
4493
4499
|
*/
|
|
4494
4500
|
abstract setRouteInCommunicationMode(route: number): number;
|
|
4501
|
+
/**
|
|
4502
|
+
* Check if the camera supports portrait center stage.
|
|
4503
|
+
*
|
|
4504
|
+
* This method applies to macOS only. Before calling enableCameraCenterStage to enable portrait center stage, it is recommended to call this method to check if the current device supports the feature.
|
|
4505
|
+
*
|
|
4506
|
+
* @returns
|
|
4507
|
+
* true : The current camera supports the portrait center stage. false : The current camera supports the portrait center stage.
|
|
4508
|
+
*/
|
|
4509
|
+
abstract isCameraCenterStageSupported(): boolean;
|
|
4510
|
+
/**
|
|
4511
|
+
* Enables or disables portrait center stage.
|
|
4512
|
+
*
|
|
4513
|
+
* The portrait center stage feature is off by default. You need to call this method to turn it on. If you need to disable this feature, you need to call this method again and set enabled to false. This method applies to macOS only.
|
|
4514
|
+
*
|
|
4515
|
+
* @param enabled Whether to enable the portrait center stage: true : Enable portrait center stage. false : Disable portrait center stage.
|
|
4516
|
+
*
|
|
4517
|
+
* @returns
|
|
4518
|
+
* 0: Success.
|
|
4519
|
+
* < 0: Failure.
|
|
4520
|
+
*/
|
|
4521
|
+
abstract enableCameraCenterStage(enabled: boolean): number;
|
|
4495
4522
|
/**
|
|
4496
4523
|
* Gets a list of shareable screens and windows.
|
|
4497
4524
|
*
|
|
@@ -4546,15 +4573,7 @@ export declare abstract class IRtcEngine {
|
|
|
4546
4573
|
*/
|
|
4547
4574
|
abstract startScreenCaptureByScreenRect(screenRect: Rectangle, regionRect: Rectangle, captureParams: ScreenCaptureParameters): number;
|
|
4548
4575
|
/**
|
|
4549
|
-
*
|
|
4550
|
-
*
|
|
4551
|
-
* After calling this method, you can get whether the audio device supports ultra-low-latency capture and playback.
|
|
4552
|
-
* You can call this method either before or after joining a channel.
|
|
4553
|
-
*
|
|
4554
|
-
* @returns
|
|
4555
|
-
* The DeviceInfo object that identifies the audio device information.
|
|
4556
|
-
* Not null: Success.
|
|
4557
|
-
* Null: Failure.
|
|
4576
|
+
* @ignore
|
|
4558
4577
|
*/
|
|
4559
4578
|
abstract getAudioDeviceInfo(): DeviceInfo;
|
|
4560
4579
|
/**
|
|
@@ -4630,6 +4649,13 @@ export declare abstract class IRtcEngine {
|
|
|
4630
4649
|
* @ignore
|
|
4631
4650
|
*/
|
|
4632
4651
|
abstract queryScreenCaptureCapability(): number;
|
|
4652
|
+
/**
|
|
4653
|
+
* @ignore
|
|
4654
|
+
*/
|
|
4655
|
+
abstract queryCameraFocalLengthCapability(): {
|
|
4656
|
+
focalLengthInfos: FocalLengthInfo[];
|
|
4657
|
+
size: number;
|
|
4658
|
+
};
|
|
4633
4659
|
/**
|
|
4634
4660
|
* Sets the screen sharing scenario.
|
|
4635
4661
|
*
|
|
@@ -4655,7 +4681,7 @@ export declare abstract class IRtcEngine {
|
|
|
4655
4681
|
/**
|
|
4656
4682
|
* Retrieves the call ID.
|
|
4657
4683
|
*
|
|
4658
|
-
* When a user joins a channel on a client, a callId is generated to identify the call from the client.
|
|
4684
|
+
* When a user joins a channel on a client, a callId is generated to identify the call from the client. You can call this method to get the callId parameter, and pass it in when calling methods such as rate and complain. Call this method after joining a channel.
|
|
4659
4685
|
*
|
|
4660
4686
|
* @returns
|
|
4661
4687
|
* The current call ID, if the method succeeds.
|
|
@@ -4749,12 +4775,6 @@ export declare abstract class IRtcEngine {
|
|
|
4749
4775
|
* Starts the local video mixing.
|
|
4750
4776
|
*
|
|
4751
4777
|
* After calling this method, you can merge multiple video streams into one video stream locally. For example, you can merge the video streams captured by the camera, screen sharing, media player, remote video, video files, images, etc. into one video stream, and then publish the mixed video stream to the channel.
|
|
4752
|
-
* Local video mixing requires more CPU resources. Therefore, Agora recommends enabling this function on devices with higher performance.
|
|
4753
|
-
* If you need to mix locally captured video streams, the SDK supports the following capture combinations:
|
|
4754
|
-
* On the Windows platform, it supports up to 4 video streams captured by cameras + 4 screen sharing streams.
|
|
4755
|
-
* On the macOS platform, it supports up to 4 video streams captured by cameras + 1 screen sharing stream.
|
|
4756
|
-
* If you need to mix the locally collected video streams, you need to call this method after startCameraCapture or startScreenCaptureBySourceType.
|
|
4757
|
-
* If you want to publish the mixed video stream to the channel, you need to set publishTranscodedVideoTrack in ChannelMediaOptions to true when calling joinChannel or updateChannelMediaOptions.
|
|
4758
4778
|
*
|
|
4759
4779
|
* @param config Configuration of the local video mixing, see LocalTranscoderConfiguration.
|
|
4760
4780
|
* The maximum resolution of each video stream participating in the local video mixing is 4096 × 2160. If this limit is exceeded, video mixing does not take effect.
|
|
@@ -4865,11 +4885,11 @@ export declare abstract class IRtcEngine {
|
|
|
4865
4885
|
*/
|
|
4866
4886
|
abstract registerEventHandler(eventHandler: IRtcEngineEventHandler): boolean;
|
|
4867
4887
|
/**
|
|
4868
|
-
* Removes the specified callback
|
|
4888
|
+
* Removes the specified callback events.
|
|
4869
4889
|
*
|
|
4870
|
-
*
|
|
4890
|
+
* You can call this method too remove all added callback events.
|
|
4871
4891
|
*
|
|
4872
|
-
* @param eventHandler
|
|
4892
|
+
* @param eventHandler Callback events to be removed. See IRtcEngineEventHandler.
|
|
4873
4893
|
*
|
|
4874
4894
|
* @returns
|
|
4875
4895
|
* true : Success. false : Failure.
|
|
@@ -4917,7 +4937,7 @@ export declare abstract class IRtcEngine {
|
|
|
4917
4937
|
*
|
|
4918
4938
|
* In scenarios requiring high security, Agora recommends calling this method to enable the built-in encryption before joining a channel. All users in the same channel must use the same encryption mode and encryption key. After the user leaves the channel, the SDK automatically disables the built-in encryption. To enable the built-in encryption, call this method before the user joins the channel again. If you enable the built-in encryption, you cannot use the Media Push function.
|
|
4919
4939
|
*
|
|
4920
|
-
* @param enabled Whether to enable built-in encryption: true : Enable the built-in encryption. false : Disable the built-in encryption.
|
|
4940
|
+
* @param enabled Whether to enable built-in encryption: true : Enable the built-in encryption. false : (Default) Disable the built-in encryption.
|
|
4921
4941
|
* @param config Built-in encryption configurations. See EncryptionConfig.
|
|
4922
4942
|
*
|
|
4923
4943
|
* @returns
|
|
@@ -5092,18 +5112,19 @@ export declare abstract class IRtcEngine {
|
|
|
5092
5112
|
/**
|
|
5093
5113
|
* Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel.
|
|
5094
5114
|
*
|
|
5095
|
-
*
|
|
5115
|
+
* 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.
|
|
5116
|
+
* If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours. This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks:
|
|
5096
5117
|
* The local client: onLocalUserRegistered, onJoinChannelSuccess and onConnectionStateChanged callbacks.
|
|
5097
|
-
* The remote client: The onUserJoined callback, if the user is in the COMMUNICATION profile, and the onUserInfoUpdated callback if the user is a host in the LIVE_BROADCASTING profile. Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.
|
|
5118
|
+
* The remote client: The onUserJoined callback, if the user is in the COMMUNICATION profile, and the onUserInfoUpdated callback if the user is a host in the LIVE_BROADCASTING profile. Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.
|
|
5098
5119
|
*
|
|
5099
5120
|
* @param token The token generated on your server for authentication. If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel.
|
|
5100
|
-
* @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters:
|
|
5121
|
+
* @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):
|
|
5101
5122
|
* All lowercase English letters: a to z.
|
|
5102
5123
|
* All uppercase English letters: A to Z.
|
|
5103
5124
|
* All numeric characters: 0 to 9.
|
|
5104
5125
|
* Space
|
|
5105
5126
|
* "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
|
|
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):
|
|
5127
|
+
* @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 follows(89 in total):
|
|
5107
5128
|
* The 26 lowercase English letters: a to z.
|
|
5108
5129
|
* The 26 uppercase English letters: A to Z.
|
|
5109
5130
|
* All numeric characters: 0 to 9.
|
|
@@ -5131,13 +5152,13 @@ export declare abstract class IRtcEngine {
|
|
|
5131
5152
|
* The remote client: The onUserJoined callback, if the user is in the COMMUNICATION profile, and the onUserInfoUpdated callback if the user is a host in the LIVE_BROADCASTING profile. Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods. 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.
|
|
5132
5153
|
*
|
|
5133
5154
|
* @param token The token generated on your server for authentication. If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel.
|
|
5134
|
-
* @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters:
|
|
5155
|
+
* @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):
|
|
5135
5156
|
* All lowercase English letters: a to z.
|
|
5136
5157
|
* All uppercase English letters: A to Z.
|
|
5137
5158
|
* All numeric characters: 0 to 9.
|
|
5138
5159
|
* Space
|
|
5139
5160
|
* "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
|
|
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):
|
|
5161
|
+
* @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 follows(89 in total):
|
|
5141
5162
|
* The 26 lowercase English letters: a to z.
|
|
5142
5163
|
* The 26 uppercase English letters: A to Z.
|
|
5143
5164
|
* All numeric characters: 0 to 9.
|
|
@@ -5477,6 +5498,10 @@ export declare abstract class IRtcEngine {
|
|
|
5477
5498
|
* true : The current device supports the specified feature. false : The current device does not support the specified feature.
|
|
5478
5499
|
*/
|
|
5479
5500
|
abstract isFeatureAvailableOnDevice(type: FeatureType): boolean;
|
|
5501
|
+
/**
|
|
5502
|
+
* @ignore
|
|
5503
|
+
*/
|
|
5504
|
+
abstract sendAudioMetadata(metadata: string, length: number): number;
|
|
5480
5505
|
/**
|
|
5481
5506
|
* Starts screen capture.
|
|
5482
5507
|
*
|
|
@@ -5608,7 +5633,7 @@ export declare abstract class IRtcEngine {
|
|
|
5608
5633
|
* Destroys multiple video renderer objects at one time.
|
|
5609
5634
|
*
|
|
5610
5635
|
* @param sourceType The type of the video source. See VideoSourceType.
|
|
5611
|
-
* @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters:
|
|
5636
|
+
* @param channelId The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):
|
|
5612
5637
|
* All lowercase English letters: a to z.
|
|
5613
5638
|
* All uppercase English letters: A to Z.
|
|
5614
5639
|
* All numeric characters: 0 to 9.
|
|
@@ -5991,13 +6016,17 @@ export declare class VideoDeviceInfo {
|
|
|
5991
6016
|
deviceName?: string;
|
|
5992
6017
|
}
|
|
5993
6018
|
/**
|
|
5994
|
-
* The AudioDeviceInfo class that contains the ID and
|
|
6019
|
+
* The AudioDeviceInfo class that contains the ID, name and type of the audio devices.
|
|
5995
6020
|
*/
|
|
5996
6021
|
export declare class AudioDeviceInfo {
|
|
5997
6022
|
/**
|
|
5998
6023
|
* The device ID.
|
|
5999
6024
|
*/
|
|
6000
6025
|
deviceId?: string;
|
|
6026
|
+
/**
|
|
6027
|
+
* Output parameter; indicates the type of audio devices, such as built-in, USB and HDMI.
|
|
6028
|
+
*/
|
|
6029
|
+
deviceTypeName?: string;
|
|
6001
6030
|
/**
|
|
6002
6031
|
* The device name.
|
|
6003
6032
|
*/
|