diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8183725..6bed6c9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -167,7 +167,8 @@ jobs: run: | npm i -g detox-cli react-native-cli brew tap wix/brew - brew install applesimutils + brew trust --formula wix/brew/applesimutils + brew install wix/brew/applesimutils - name: Modify APP ID run: | diff --git a/android/build.gradle b/android/build.gradle index 6d751a3..c7a3cbb 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -165,9 +165,9 @@ dependencies { implementation "com.facebook.react:react-native:+" implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs') /// dependencies start - implementation 'cn.shengwang.rtc:full-screen-sharing:4.6.2.70' - api 'cn.shengwang.rtc:shengwang-special-full:4.6.2.70' - api 'io.agora.rtc:iris-rtc:4.6.2-build.1' + api 'cn.shengwang.rtc:full-sdk:4.6.4' + implementation 'cn.shengwang.rtc:full-screen-sharing:4.6.4' + api 'io.agora.rtc:iris-rtc:4.6.4-build.4' /// dependencies end } diff --git a/examples/expo/ios/Podfile b/examples/expo/ios/Podfile index 698210b..afd2797 100644 --- a/examples/expo/ios/Podfile +++ b/examples/expo/ios/Podfile @@ -65,6 +65,6 @@ end target 'ScreenShare' do #dependencies start - pod 'ShengwangVideo_Special_iOS', '4.6.2.70' + pod 'ShengwangRtcEngine_iOS', '4.6.4' #dependencies end end diff --git a/examples/expo/ios/Podfile.lock b/examples/expo/ios/Podfile.lock index af3c87f..2e8b296 100644 --- a/examples/expo/ios/Podfile.lock +++ b/examples/expo/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - AgoraIrisRTC_iOS2 (4.6.2-build.1) + - AgoraIrisRTC_iOS (4.6.4-build.4) - boost (1.84.0) - DoubleConversion (1.1.6) - EXConstants (17.1.7): @@ -1644,7 +1644,7 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - react-native-agora (4.6.2): - - AgoraIrisRTC_iOS2 (= 4.6.2-build.1) + - AgoraIrisRTC_iOS (= 4.6.4-build.4) - DoubleConversion - glog - hermes-engine @@ -1667,7 +1667,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - ShengwangVideo_Special_iOS (= 4.6.2.70) + - ShengwangRtcEngine_iOS (= 4.6.4) - Yoga - react-native-image-tools (0.8.1): - React @@ -2393,7 +2393,43 @@ PODS: - Yoga - RNVectorIcons (9.2.0): - React-Core - - ShengwangVideo_Special_iOS (4.6.2.70) + - ShengwangInfra_iOS (1.3.5) + - ShengwangRtcEngine_iOS (4.6.4): + - ShengwangRtcEngine_iOS/AIAEC (= 4.6.4) + - ShengwangRtcEngine_iOS/AIAECLL (= 4.6.4) + - ShengwangRtcEngine_iOS/AINS (= 4.6.4) + - ShengwangRtcEngine_iOS/AINSLL (= 4.6.4) + - ShengwangRtcEngine_iOS/AudioBeauty (= 4.6.4) + - ShengwangRtcEngine_iOS/ClearVision (= 4.6.4) + - ShengwangRtcEngine_iOS/ContentInspect (= 4.6.4) + - ShengwangRtcEngine_iOS/FaceCapture (= 4.6.4) + - ShengwangRtcEngine_iOS/FaceDetection (= 4.6.4) + - ShengwangRtcEngine_iOS/LipSync (= 4.6.4) + - ShengwangRtcEngine_iOS/ReplayKit (= 4.6.4) + - ShengwangRtcEngine_iOS/RtcBasic (= 4.6.4) + - ShengwangRtcEngine_iOS/SpatialAudio (= 4.6.4) + - ShengwangRtcEngine_iOS/VideoAv1CodecEnc (= 4.6.4) + - ShengwangRtcEngine_iOS/VideoCodecEnc (= 4.6.4) + - ShengwangRtcEngine_iOS/VirtualBackground (= 4.6.4) + - ShengwangRtcEngine_iOS/VQA (= 4.6.4) + - ShengwangRtcEngine_iOS/AIAEC (4.6.4) + - ShengwangRtcEngine_iOS/AIAECLL (4.6.4) + - ShengwangRtcEngine_iOS/AINS (4.6.4) + - ShengwangRtcEngine_iOS/AINSLL (4.6.4) + - ShengwangRtcEngine_iOS/AudioBeauty (4.6.4) + - ShengwangRtcEngine_iOS/ClearVision (4.6.4) + - ShengwangRtcEngine_iOS/ContentInspect (4.6.4) + - ShengwangRtcEngine_iOS/FaceCapture (4.6.4) + - ShengwangRtcEngine_iOS/FaceDetection (4.6.4) + - ShengwangRtcEngine_iOS/LipSync (4.6.4) + - ShengwangRtcEngine_iOS/ReplayKit (4.6.4) + - ShengwangRtcEngine_iOS/RtcBasic (4.6.4): + - ShengwangInfra_iOS (= 1.3.5) + - ShengwangRtcEngine_iOS/SpatialAudio (4.6.4) + - ShengwangRtcEngine_iOS/VideoAv1CodecEnc (4.6.4) + - ShengwangRtcEngine_iOS/VideoCodecEnc (4.6.4) + - ShengwangRtcEngine_iOS/VirtualBackground (4.6.4) + - ShengwangRtcEngine_iOS/VQA (4.6.4) - SocketRocket (0.7.1) - Yoga (0.0.0) - ZXingObjC/Core (3.6.9) @@ -2502,13 +2538,14 @@ DEPENDENCIES: - RNScreens (from `../node_modules/react-native-screens`) - RNSVG (from `../node_modules/react-native-svg`) - RNVectorIcons (from `../node_modules/react-native-vector-icons`) - - ShengwangVideo_Special_iOS (= 4.6.2.70) + - ShengwangRtcEngine_iOS (= 4.6.4) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: - - AgoraIrisRTC_iOS2 - - ShengwangVideo_Special_iOS + - AgoraIrisRTC_iOS + - ShengwangInfra_iOS + - ShengwangRtcEngine_iOS - SocketRocket - ZXingObjC @@ -2712,7 +2749,7 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - AgoraIrisRTC_iOS2: 13996c3c78134da357634f6a1a12741436658886 + AgoraIrisRTC_iOS: 62c1cec878320d75ee2c5ebb43f0e72659a2bbf3 boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb EXConstants: 9d62a46a36eae6d28cb978efcbc68aef354d1704 @@ -2768,7 +2805,7 @@ SPEC CHECKSUMS: React-logger: e6e6164f1753e46d1b7e2c8f0949cd7937eaf31b React-Mapbuffer: 5b4959cbd91e7e8fae42ab0f4b7c25b86fd139a1 React-microtasksnativemodule: 1695ab137281dd03de967b7bbeb4e392601f6432 - react-native-agora: a802a1c5bf0952a6f668afb66eb52e233c417c79 + react-native-agora: 2677acf6d12dbc9f4bf41f364d08f776ecf8ccde react-native-image-tools: 88218449791389bbf550a2c475a3b564c8233c8b react-native-safe-area-context: 6863f9e225b541b481514b0f6d51be0867184c2c react-native-slider: 351d1186b07d686b93dad14ce2b474ca62dea0fc @@ -2810,11 +2847,12 @@ SPEC CHECKSUMS: RNScreens: c2e3cc506212228c607b4785b315205e28acbf0f RNSVG: ab2249cc665e5d0b2d30657a766a86c99a649a65 RNVectorIcons: fcc2f6cb32f5735b586e66d14103a74ce6ad61f8 - ShengwangVideo_Special_iOS: 88cc7083ccae4235a20191a23f5e1fe552ae7ac6 + ShengwangInfra_iOS: 0ae2d429ec428cdbaebb39ac883ec64c5c20f7bb + ShengwangRtcEngine_iOS: 689f60bae74754863bdbcbe99b515a0f46c25d4d SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 Yoga: adb397651e1c00672c12e9495babca70777e411e ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5 -PODFILE CHECKSUM: e8ba112f02e6b8e21222fcf5224ba2df9f43e6c2 +PODFILE CHECKSUM: 50f2ab9c24fd9400bd8e504d6b5f823f5d70b9d5 COCOAPODS: 1.16.2 diff --git a/examples/expo/ios/reactnativeagoraexampleexpo.xcodeproj/project.pbxproj b/examples/expo/ios/reactnativeagoraexampleexpo.xcodeproj/project.pbxproj index 54454b3..f3774df 100644 --- a/examples/expo/ios/reactnativeagoraexampleexpo.xcodeproj/project.pbxproj +++ b/examples/expo/ios/reactnativeagoraexampleexpo.xcodeproj/project.pbxproj @@ -490,35 +490,35 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-reactnativeagoraexampleexpo/Pods-reactnativeagoraexampleexpo-frameworks.sh", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraIrisRTC_iOS2/AgoraRtcWrapper.framework/AgoraRtcWrapper", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraAiEchoCancellationExtension.framework/AgoraAiEchoCancellationExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraAiEchoCancellationLLExtension.framework/AgoraAiEchoCancellationLLExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraAiNoiseSuppressionExtension.framework/AgoraAiNoiseSuppressionExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraAiNoiseSuppressionLLExtension.framework/AgoraAiNoiseSuppressionLLExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraAudioBeautyExtension.framework/AgoraAudioBeautyExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraClearVisionExtension.framework/AgoraClearVisionExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraContentInspectExtension.framework/AgoraContentInspectExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraFaceCaptureExtension.framework/AgoraFaceCaptureExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraFaceDetectionExtension.framework/AgoraFaceDetectionExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraLipSyncExtension.framework/AgoraLipSyncExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraReplayKitExtension.framework/AgoraReplayKitExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraRtcKit.framework/AgoraRtcKit", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraSoundTouch.framework/AgoraSoundTouch", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraSpatialAudioExtension.framework/AgoraSpatialAudioExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraVideoAv1EncoderExtension.framework/AgoraVideoAv1EncoderExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraVideoEncoderExtension.framework/AgoraVideoEncoderExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraVideoQualityAnalyzerExtension.framework/AgoraVideoQualityAnalyzerExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/AgoraVideoSegmentationExtension.framework/AgoraVideoSegmentationExtension", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/Agorafdkaac.framework/Agorafdkaac", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/Agoraffmpeg.framework/Agoraffmpeg", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/aosl.framework/aosl", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/video_dec.framework/video_dec", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangVideo_Special_iOS/video_enc.framework/video_enc", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/AgoraIrisRTC_iOS/AgoraRtcWrapper.framework/AgoraRtcWrapper", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangInfra_iOS/aosl.framework/aosl", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/AIAEC/AgoraAiEchoCancellationExtension.framework/AgoraAiEchoCancellationExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/AIAECLL/AgoraAiEchoCancellationLLExtension.framework/AgoraAiEchoCancellationLLExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/AINS/AgoraAiNoiseSuppressionExtension.framework/AgoraAiNoiseSuppressionExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/AINSLL/AgoraAiNoiseSuppressionLLExtension.framework/AgoraAiNoiseSuppressionLLExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/AudioBeauty/AgoraAudioBeautyExtension.framework/AgoraAudioBeautyExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/ClearVision/AgoraClearVisionExtension.framework/AgoraClearVisionExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/ContentInspect/AgoraContentInspectExtension.framework/AgoraContentInspectExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/FaceCapture/AgoraFaceCaptureExtension.framework/AgoraFaceCaptureExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/FaceDetection/AgoraFaceDetectionExtension.framework/AgoraFaceDetectionExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/LipSync/AgoraLipSyncExtension.framework/AgoraLipSyncExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/ReplayKit/AgoraReplayKitExtension.framework/AgoraReplayKitExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/RtcBasic/AgoraRtcKit.framework/AgoraRtcKit", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/RtcBasic/Agorafdkaac.framework/Agorafdkaac", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/RtcBasic/Agoraffmpeg.framework/Agoraffmpeg", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/RtcBasic/AgoraSoundTouch.framework/AgoraSoundTouch", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/RtcBasic/video_dec.framework/video_dec", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/SpatialAudio/AgoraSpatialAudioExtension.framework/AgoraSpatialAudioExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/VQA/AgoraVideoQualityAnalyzerExtension.framework/AgoraVideoQualityAnalyzerExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/VideoAv1CodecEnc/AgoraVideoAv1EncoderExtension.framework/AgoraVideoAv1EncoderExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/VideoCodecEnc/AgoraVideoEncoderExtension.framework/AgoraVideoEncoderExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/ShengwangRtcEngine_iOS/VirtualBackground/AgoraVideoSegmentationExtension.framework/AgoraVideoSegmentationExtension", "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraRtcWrapper.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/aosl.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraAiEchoCancellationExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraAiEchoCancellationLLExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraAiNoiseSuppressionExtension.framework", @@ -531,17 +531,15 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraLipSyncExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraReplayKitExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraRtcKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agorafdkaac.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agoraffmpeg.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraSoundTouch.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/video_dec.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraSpatialAudioExtension.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraVideoQualityAnalyzerExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraVideoAv1EncoderExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraVideoEncoderExtension.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraVideoQualityAnalyzerExtension.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AgoraVideoSegmentationExtension.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agorafdkaac.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Agoraffmpeg.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/aosl.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/video_dec.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/video_enc.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; diff --git a/examples/legacy/ios/Podfile b/examples/legacy/ios/Podfile index ee0abb3..f444dd0 100644 --- a/examples/legacy/ios/Podfile +++ b/examples/legacy/ios/Podfile @@ -41,6 +41,6 @@ end target 'ScreenShare' do #dependencies start - pod 'ShengwangVideo_Special_iOS', '4.6.2.70' + pod 'ShengwangRtcEngine_iOS', '4.6.4' #dependencies end end diff --git a/react-native-agora.podspec b/react-native-agora.podspec index 4a5f423..12a852e 100644 --- a/react-native-agora.podspec +++ b/react-native-agora.podspec @@ -41,8 +41,8 @@ Pod::Spec.new do |s| end #dependencies start - s.dependency 'ShengwangVideo_Special_iOS', '4.6.2.70' - s.dependency 'AgoraIrisRTC_iOS2', '4.6.2-build.1' + s.dependency 'ShengwangRtcEngine_iOS', '4.6.4' + s.dependency 'AgoraIrisRTC_iOS', '4.6.4-build.4' #dependencies end s.libraries = 'stdc++' diff --git a/scripts/terra/config/impl_config.yaml b/scripts/terra/config/impl_config.yaml index cd43549..586ec40 100644 --- a/scripts/terra/config/impl_config.yaml +++ b/scripts/terra/config/impl_config.yaml @@ -2,7 +2,7 @@ parsers: - name: RTCParser package: '@agoraio-extensions/terra_shared_configs' args: - sdkVersion: 4.6.2.70 + sdkVersion: 4.6.4 FixEnumConstantParser: skipCalEnumValue: true diff --git a/scripts/terra/config/types_config.yaml b/scripts/terra/config/types_config.yaml index 8810213..bdd89ca 100644 --- a/scripts/terra/config/types_config.yaml +++ b/scripts/terra/config/types_config.yaml @@ -2,7 +2,7 @@ parsers: - name: RTCParser package: '@agoraio-extensions/terra_shared_configs' args: - sdkVersion: 4.6.2.70 + sdkVersion: 4.6.4 FixEnumConstantParser: skipCalEnumValue: true diff --git a/src/AgoraBase.ts b/src/AgoraBase.ts index e08481f..5b27b39 100644 --- a/src/AgoraBase.ts +++ b/src/AgoraBase.ts @@ -1891,7 +1891,7 @@ export enum MultipathMode { */ Duplicate = 0, /** - * (1):动态发送模式,SDK 会根据当前网络状况动态选择最优路径进行数据传输,以提升传输性能。 + * @ignore */ Dynamic = 1, } @@ -2592,6 +2592,14 @@ export enum LocalVideoEventType { * (4):屏幕采集过程中发生系统内部错误,仅适用于 Android 平台。 */ LocalVideoEventTypeScreenCaptureSystemInternalError = 4, + /** + * @ignore + */ + LocalVideoEventTypeCameraFocalLengthApplied = 5, + /** + * @ignore + */ + LocalVideoEventTypeCameraFocalLengthFallbackToDefault = 6, } /** @@ -5362,7 +5370,7 @@ export enum UploadErrorReason { /** * 调用 renewToken 后的错误码。 * - * 自从 自 4.6.0 版本新增。 + * 自从 自 v4.6.0 版本新增。 */ export enum RenewTokenErrorCode { /** diff --git a/src/IAgoraLog.ts b/src/IAgoraLog.ts index 3fee6d4..0045b92 100644 --- a/src/IAgoraLog.ts +++ b/src/IAgoraLog.ts @@ -73,7 +73,7 @@ export enum LogFilterType { */ export class LogConfig { /** - * 日志文件的完整路径。声网建议你使用默认的日志路径。如果你需要修改默认的日志路径,请确保你指定的路径存在且可写。 + * 日志文件的完整路径。声网建议你使用默认的日志路径。如果你需要修改默认的日志路径,请确保你指定的路径存在且可写。自定义路径必须包含日志文件名,例如 /path/to/agorasdk.log ;如果只指定日志目录,请在目录末尾添加路径分隔符,SDK 会在该目录下生成 agorasdk.log 。 * 默认路径为: * Android:/storage/emulated/0/Android/data//files/agorasdk.log。 * iOS:App Sandbox/Library/caches/agorasdk.log。 diff --git a/src/IAgoraMediaPlayerSource.ts b/src/IAgoraMediaPlayerSource.ts index 0f1b486..a42ccf7 100644 --- a/src/IAgoraMediaPlayerSource.ts +++ b/src/IAgoraMediaPlayerSource.ts @@ -33,7 +33,7 @@ export interface IMediaPlayerSourceObserver { * 播放媒体文件时,SDK 每隔 1 秒会自动触发该回调,报告当前播放进度。 * * @param positionMs 当前播放进度,单位为 ms。 - * @param timestampMs 当前播放进度的 NTP 时间戳,单位为 ms。 + * @param timestampMs 当前播放进度的 NTP 时间戳,单位为 ms。 该参数仅在频道内生效。 */ onPositionChanged?(positionMs: number, timestampMs: number): void; diff --git a/src/IAgoraRtcEngine.ts b/src/IAgoraRtcEngine.ts index 3fcfb38..f472919 100644 --- a/src/IAgoraRtcEngine.ts +++ b/src/IAgoraRtcEngine.ts @@ -1304,11 +1304,11 @@ export class ChannelMediaOptions { */ enableMultipath?: boolean; /** - * 上行传输模式。详见 MultipathMode 。 使用该参数时,请确保已将 enableMultipath 设置为 true 。 + * @ignore */ uplinkMultipathMode?: MultipathMode; /** - * 下行传输模式。详见 MultipathMode 。 使用该参数时,请确保已将 enableMultipath 设置为 true 。 + * @ignore */ downlinkMultipathMode?: MultipathMode; /** @@ -1972,7 +1972,7 @@ export interface IRtcEngineEventHandler { /** * 虚拟节拍器状态发生改变回调。 * - * 废弃 自 v4.6.0 版本废弃。 虚拟节拍器状态发生改变时,SDK 会触发该回调报告当前的虚拟节拍器状态。在虚拟节拍器出现故障时,该回调可以帮助你了解当前虚拟节拍的状态以及出现故障的原因,方便你排查问题。 + * 废弃 自 v4.6.2 版本废弃。 虚拟节拍器状态发生改变时,SDK 会触发该回调报告当前的虚拟节拍器状态。在虚拟节拍器出现故障时,该回调可以帮助你了解当前虚拟节拍的状态以及出现故障的原因,方便你排查问题。 * * @param state 当前的虚拟节拍器状态,详见 RhythmPlayerStateType 。 * @param reason 虚拟节拍器发生错误的错误码和错误信息,详见 RhythmPlayerReason 。 @@ -2085,10 +2085,10 @@ export interface IRtcEngineEventHandler { * Token 已过期回调。 * * 在音视频互动过程中,如果 Token 失效,SDK 会触发该回调报告 Token 已过期。 - * 当收到该回调时,你需要重新在服务端生成新的 Token,然后通过下列任意一种方式来更新 Token: + * 收到该回调时,你需要在 Token 服务器上生成新的 Token,并根据场景更新 Token: * 单频道场景: - * 调用 renewToken 来传入新的 Token。 - * 调用 leaveChannel 离开当前频道,然后在调用 joinChannel 时传入新的 Token 重新加入频道。 + * 调用 renewToken 传入新的 Token,无需先离开频道。SDK 会通过 onRenewTokenResult 回调报告更新结果。 + * 如果你的 App 需要离开并重新加入频道,也可以调用 leaveChannel 离开频道,然后在调用 joinChannel 时传入新的 Token。 * 多频道场景:调用 updateChannelMediaOptionsEx 传入新的 Token。 * * @param connection Connection 信息。详见 RtcConnection 。 @@ -2098,10 +2098,10 @@ export interface IRtcEngineEventHandler { /** * Token 即将在 30s 内过期回调。 * - * 当收到该回调时,你需要重新在服务端生成新的 Token,然后通过下列任意一种方式来更新 Token: + * 收到该回调时,你需要在 Token 服务器上生成新的 Token,并根据场景更新 Token: * 单频道场景: - * 调用 renewToken 来传入新的 Token。 - * 调用 leaveChannel 离开当前频道,然后在调用 joinChannel 时传入新的 Token 重新加入频道。 + * 调用 renewToken 传入新的 Token,无需先离开频道。SDK 会通过 onRenewTokenResult 回调报告更新结果。 + * 如果你的 App 需要离开并重新加入频道,也可以调用 leaveChannel 离开频道,然后在调用 joinChannel 时传入新的 Token。 * 多频道场景:调用 updateChannelMediaOptionsEx 传入新的 Token。 * * @param connection Connection 信息。详见 RtcConnection 。 @@ -3054,105 +3054,93 @@ export interface IMetadataObserver { } /** - * CDN 推流状态改变的原因。 - * - * 废弃 自 v4.6.0 版本废弃。 + * @ignore */ export enum DirectCdnStreamingReason { /** - * 0:推流状态正常。 + * @ignore */ DirectCdnStreamingReasonOk = 0, /** - * 1:一般性错误,没有明确原因。你可以尝试重新推流。 + * @ignore */ DirectCdnStreamingReasonFailed = 1, /** - * 2:音频推流出错。例如,本地音频采集设备未正常工作、被其他进程占用或没有使用权限。 + * @ignore */ DirectCdnStreamingReasonAudioPublication = 2, /** - * 3:视频推流出错。例如,本地视频采集设备未正常工作、被其他进程占用或没有使用权限。 + * @ignore */ DirectCdnStreamingReasonVideoPublication = 3, /** - * 4:连接 CDN 失败。 + * @ignore */ DirectCdnStreamingReasonNetConnect = 4, /** - * 5:URL 已用于推流。请使用新的 URL。 + * @ignore */ DirectCdnStreamingReasonBadName = 5, } /** - * 当前 CDN 推流状态。 - * - * 废弃 自 v4.6.0 版本废弃。 + * @ignore */ export enum DirectCdnStreamingState { /** - * 0:初始状态,即推流尚未开始。 + * @ignore */ DirectCdnStreamingStateIdle = 0, /** - * 1:正在推流中。当你调用 startDirectCdnStreaming 成功推流时,SDK 会返回该值。 + * @ignore */ DirectCdnStreamingStateRunning = 1, /** - * 2:推流已正常结束。当你调用 stopDirectCdnStreaming 主动停止推流时,SDK 会返回该值。 + * @ignore */ DirectCdnStreamingStateStopped = 2, /** - * 3:推流失败。你可以通过 onDirectCdnStreamingStateChanged 回调报告的信息排查问题,然后重新推流。 + * @ignore */ DirectCdnStreamingStateFailed = 3, /** - * 4:尝试重新连接声网服务器和 CDN。最多尝试重连 10 次,如仍未成功恢复连接,则推流状态变为 DirectCdnStreamingStateFailed。 + * @ignore */ DirectCdnStreamingStateRecovering = 4, } /** - * 当前 CDN 推流的统计数据。 - * - * 废弃 自 v4.6.0 版本废弃。 + * @ignore */ export class DirectCdnStreamingStats { /** - * 视频的宽度(px)。 + * @ignore */ videoWidth?: number; /** - * 视频的高度(px)。 + * @ignore */ videoHeight?: number; /** - * 当前视频帧率(fps)。 + * @ignore */ fps?: number; /** - * 当前视频码率(bps)。 + * @ignore */ videoBitrate?: number; /** - * 当前音频码率(bps)。 + * @ignore */ audioBitrate?: number; } /** - * IDirectCdnStreamingEventHandler 接口类用于 SDK 向 App 发送 CDN 推流的事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。 + * @ignore */ export interface IDirectCdnStreamingEventHandler { /** - * CDN 推流状态改变回调。 - * - * 主播端直接向 CDN 推流后,当推流状态改变时,SDK 会触发该回调向你报告新的状态、错误码和信息。你可以据此排查问题。 - * - * @param state 当前推流状态。详见 DirectCdnStreamingState 。 - * @param reason 推流状态改变的原因。详见 DirectCdnStreamingReason 。 - * @param message 状态改变对应的信息。 + * @ignore */ onDirectCdnStreamingStateChanged?( state: DirectCdnStreamingState, @@ -3161,35 +3149,29 @@ export interface IDirectCdnStreamingEventHandler { ): void; /** - * CDN 推流统计数据回调。 - * - * 在主播直接向 CDN 推流的过程中,SDK 每隔 1 秒触发一次该回调。 - * - * @param stats 当前推流的统计数据。详见 DirectCdnStreamingStats 。 + * @ignore */ onDirectCdnStreamingStats?(stats: DirectCdnStreamingStats): void; } /** - * 主播端的媒体选项。 - * - * 废弃 自 v4.6.0 版本废弃。 + * @ignore */ export class DirectCdnStreamingMediaOptions { /** - * 设置是否发布摄像头采集的视频。 true : 发布摄像头采集的视频。 false :(默认)不发布摄像头采集的视频。 + * @ignore */ publishCameraTrack?: boolean; /** - * 设置是否发布麦克风采集的音频。 true : 发布麦克风采集的音频。 false :(默认)不发布麦克风采集的音频。 + * @ignore */ publishMicrophoneTrack?: boolean; /** - * 设置是否发布自定义采集的音频。 true : 发布自定义采集的音频。 false :(默认)不发布自定义采集的音频。 + * @ignore */ publishCustomAudioTrack?: boolean; /** - * 设置是否发布自定义采集的视频。 true : 发布自定义采集的视频。 false :(默认)不发布自定义采集的视频。 + * @ignore */ publishCustomVideoTrack?: boolean; /** @@ -3201,7 +3183,7 @@ export class DirectCdnStreamingMediaOptions { */ publishMediaPlayerId?: number; /** - * 调用 createCustomVideoTrack 方法返回的视频轨道 ID。默认值为 0。 + * @ignore */ customVideoTrackId?: number; } @@ -7160,51 +7142,21 @@ export abstract class IRtcEngine { abstract resumeAllChannelMediaRelay(): number; /** - * 设置主播端直接向 CDN 推流时的音频编码属性。 - * - * 废弃 自 v4.6.0 版本废弃。 该方法仅对麦克风采集或自采集的音频有效,即对在 DirectCdnStreamingMediaOptions 中设置 publishMicrophoneTrack 或 publishCustomAudioTrack 为 true 时所采集的音频有效。 - * - * @returns - * 0: 方法调用成功。 - * < 0: 方法调用失败。详见[错误码](https://doc.shengwang.cn/api-ref/rtc/rn/error-code)了解详情和解决建议。 + * @ignore */ abstract setDirectCdnStreamingAudioConfiguration( profile: AudioProfileType ): number; /** - * 设置主播端直接向 CDN 推流时的视频编码属性。 - * - * 废弃 自 v4.6.0 版本废弃。 该方法仅对摄像头采集、屏幕共享或自采集的视频有效。即对在 DirectCdnStreamingMediaOptions 中设置 publishCameraTrack 或 publishCustomVideoTrack 为 true 时所采集的视频有效。 - * 如果你设置的视频分辨率超出你的摄像头设备支持的范围,SDK 会根据你的设置进行自适应,取最接近、且长宽比与你设置的分辨率一致的值进行采集、编码、推流。你可以通过 onDirectCdnStreamingStats 回调了解推送的视频流的实际分辨率。 - * - * @param config 视频编码参数配置。详见 VideoEncoderConfiguration 。 在直接向 CDN 推流时,SDK 目前仅支持将 OrientationMode 设为横屏模式( OrientationFixedLandscape )或竖屏模式( OrientationFixedPortrait )。 - * - * @returns - * 0: 方法调用成功。 - * < 0: 方法调用失败。详见[错误码](https://doc.shengwang.cn/api-ref/rtc/rn/error-code)了解详情和解决建议。 + * @ignore */ abstract setDirectCdnStreamingVideoConfiguration( config: VideoEncoderConfiguration ): number; /** - * 设置主播端开始直接向 CDN 推流。 - * - * 废弃 自 v4.6.0 版本废弃。 SDK 不支持同一时间向同一个 URL 重复推流。 - * 媒体选项说明 - * SDK 不支持 publishCameraTrack 和 publishCustomVideoTrack 同时为 true ,也不支持 publishMicrophoneTrack 和 publishCustomAudioTrack 同时为 true 。你可以根据场景需求设置媒体选项 (DirectCdnStreamingMediaOptions)。示例如下: - * 如果你想推送主播端自定义采集的音视频流,请将媒体选项进行如下设置: publishCustomAudioTrack 设为 true 并调用 pushAudioFrame publishCustomVideoTrack 设为 true 并调用 pushVideoFrame - * 确保 publishCameraTrack 为 false (默认值) - * 确保 publishMicrophoneTrack 为 false (默认值) 自 v4.2.0 起,SDK 支持推送纯音频流。你可以在 DirectCdnStreamingMediaOptions 中将 publishCustomAudioTrack 或者 publishMicrophoneTrack 设为 true ,并调用 pushAudioFrame 即可推送纯音频流。 - * - * @param eventHandler 详见 onDirectCdnStreamingStateChanged 及 onDirectCdnStreamingStats 。 - * @param publishUrl CDN 推流 URL。 - * @param options 主播端的媒体选项。详见 DirectCdnStreamingMediaOptions 。 - * - * @returns - * 0: 方法调用成功。 - * < 0: 方法调用失败。详见[错误码](https://doc.shengwang.cn/api-ref/rtc/rn/error-code)了解详情和解决建议。 + * @ignore */ abstract startDirectCdnStreaming( eventHandler: IDirectCdnStreamingEventHandler, @@ -7213,13 +7165,7 @@ export abstract class IRtcEngine { ): number; /** - * 设置主播端停止直接向 CDN 推流。 - * - * 废弃 自 v4.6.0 版本废弃。 - * - * @returns - * 0: 方法调用成功。 - * < 0: 方法调用失败。详见[错误码](https://doc.shengwang.cn/api-ref/rtc/rn/error-code)了解详情和解决建议。 + * @ignore */ abstract stopDirectCdnStreaming(): number; @@ -7233,7 +7179,7 @@ export abstract class IRtcEngine { /** * 开启虚拟节拍器。 * - * 废弃 自 v4.6.0 版本废弃。 + * 废弃 自 v4.6.2 版本废弃。 * 开启虚拟节拍器后,SDK 会从头开始播放指定的音频文件,并根据你在 AgoraRhythmPlayerConfig 中设置的 beatsPerMinute 控制每个文件的播放时长。例如,将 beatsPerMinute 设为 60 ,则 SDK 会 1 秒播放 1 个节拍。如果文件时长超过了节拍时长,则 SDK 只播放节拍时长部分的音频。 * 虚拟节拍器的声音默认不会发布至远端,如果你希望远端用户听到虚拟节拍器的声音,你可以在调用该方法后,将 ChannelMediaOptions 中的 publishRhythmPlayerTrack 设为 true 。 * @@ -7255,7 +7201,7 @@ export abstract class IRtcEngine { /** * 关闭虚拟节拍器。 * - * 调用 startRhythmPlayer 后,你可以调用该方法关闭虚拟节拍器。 + * 废弃 自 v4.6.2 版本废弃。 调用 startRhythmPlayer 后,你可以调用该方法关闭虚拟节拍器。 * * @returns * 0: 方法调用成功。 @@ -7266,7 +7212,7 @@ export abstract class IRtcEngine { /** * 配置虚拟节拍器。 * - * 废弃 自 v4.6.0 版本废弃。 + * 废弃 自 v4.6.2 版本废弃。 * 调用 startRhythmPlayer 后,你可以调用该方法重新配置虚拟节拍器。 * 开启虚拟节拍器后,SDK 会从头开始播放指定的音频文件,并根据你在 AgoraRhythmPlayerConfig 中设置的 beatsPerMinute 控制每个文件的播放时长。例如,将 beatsPerMinute 设为 60 ,则 SDK 会 1 秒播放 1 个节拍。如果文件时长超过了节拍时长,则 SDK 只播放节拍时长部分的音频。 * 虚拟节拍器的声音默认不会发布至远端,如果你希望远端用户听到虚拟节拍器的声音,你可以在调用该方法后,将 ChannelMediaOptions 中的 publishRhythmPlayerTrack 设为 true 。