From 6455989f10a10233259af79773cb1d8df5884258 Mon Sep 17 00:00:00 2001 From: qinhui <> Date: Tue, 14 Jan 2025 15:46:41 +0800 Subject: [PATCH 001/156] Adjust the bitrate parameter. --- .../Examples/Advanced/ContentInspect/ContentInspect.m | 2 +- .../Examples/Advanced/CreateDataStream/CreateDataStream.m | 2 +- .../Examples/Advanced/CustomVideoRender/CustomVideoRender.m | 2 +- .../Advanced/CustomVideoSourcePush/CustomVideoSourcePush.m | 2 +- .../APIExample-OC/Examples/Advanced/FusionCDN/FusionCDN.m | 4 ++-- .../Examples/Advanced/JoinMultiChannel/JoinMultiChannel.m | 2 +- .../Examples/Advanced/LiveStreaming/LiveStreaming.m | 2 +- .../Examples/Advanced/MediaChannelRelay/MediaChannelRelay.m | 2 +- .../APIExample-OC/Examples/Advanced/MediaPlayer/MediaPlayer.m | 2 +- .../APIExample-OC/Examples/Advanced/MutliCamera/MutliCamera.m | 2 +- .../Examples/Advanced/PictureInPicture/PictureInPicture.m | 2 +- .../Examples/Advanced/RTMPStreaming/RTMPStreaming.m | 2 +- .../Examples/Advanced/RawVideoData/RawVideoData.m | 2 +- .../APIExample-OC/Examples/Advanced/ScreenShare/ScreenShare.m | 2 +- .../Examples/Advanced/SimpleFilter/SimpleFilter.m | 2 +- .../Examples/Advanced/StreamEncryption/StreamEncryption.m | 2 +- .../Examples/Advanced/VideoMetadata/VideoMetadata.m | 2 +- .../Examples/Advanced/VideoProcess/VideoProcess.m | 2 +- .../Examples/Advanced/VoiceChanger/VoiceChanger.m | 2 +- .../JoinChannelVideo(Recorder)/JoinChannelVideoRecorder.m | 2 +- .../Basic/JoinChannelVideo(Token)/JoinChannelVideoToken.m | 2 +- .../Examples/Basic/JoinChannelVideo/JoinChannelVideo.m | 2 +- .../Advanced/ThirdBeautify/ByteBeautify/BytedEffectVC.m | 2 +- .../Advanced/ThirdBeautify/ByteBeautify/Manager/Config.h | 2 +- .../Examples/Advanced/ThirdBeautify/FUBeautify/FUBeautifyVC.m | 2 +- .../Advanced/ThirdBeautify/SenseBeautify/SenseBeautifyVC.m | 2 +- 26 files changed, 27 insertions(+), 27 deletions(-) diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/ContentInspect/ContentInspect.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/ContentInspect/ContentInspect.m index d495d9f35..c1c047cf7 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/ContentInspect/ContentInspect.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/ContentInspect/ContentInspect.m @@ -65,7 +65,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CreateDataStream/CreateDataStream.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CreateDataStream/CreateDataStream.m index e618145b8..afc7b3d2c 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CreateDataStream/CreateDataStream.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CreateDataStream/CreateDataStream.m @@ -83,7 +83,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomVideoRender/CustomVideoRender.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomVideoRender/CustomVideoRender.m index 7f312463b..5ba5a7014 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomVideoRender/CustomVideoRender.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomVideoRender/CustomVideoRender.m @@ -86,7 +86,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomVideoSourcePush/CustomVideoSourcePush.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomVideoSourcePush/CustomVideoSourcePush.m index 07832ef30..52a23bceb 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomVideoSourcePush/CustomVideoSourcePush.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomVideoSourcePush/CustomVideoSourcePush.m @@ -96,7 +96,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/FusionCDN/FusionCDN.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/FusionCDN/FusionCDN.m index 7c7c1727e..38a638a24 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/FusionCDN/FusionCDN.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/FusionCDN/FusionCDN.m @@ -138,7 +138,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; self.videoConfig = encoderConfig; @@ -428,7 +428,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/JoinMultiChannel/JoinMultiChannel.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/JoinMultiChannel/JoinMultiChannel.m index fe9dd7b3b..b8059e6d9 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/JoinMultiChannel/JoinMultiChannel.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/JoinMultiChannel/JoinMultiChannel.m @@ -170,7 +170,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/LiveStreaming/LiveStreaming.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/LiveStreaming/LiveStreaming.m index f9f23ef9e..80d44eba8 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/LiveStreaming/LiveStreaming.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/LiveStreaming/LiveStreaming.m @@ -288,7 +288,7 @@ - (void)becomeBroadcaster { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MediaChannelRelay/MediaChannelRelay.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MediaChannelRelay/MediaChannelRelay.m index 8beb99cb2..0a1fc95f2 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MediaChannelRelay/MediaChannelRelay.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MediaChannelRelay/MediaChannelRelay.m @@ -90,7 +90,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MediaPlayer/MediaPlayer.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MediaPlayer/MediaPlayer.m index 2420e3bc9..12d94e1a9 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MediaPlayer/MediaPlayer.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MediaPlayer/MediaPlayer.m @@ -135,7 +135,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MutliCamera/MutliCamera.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MutliCamera/MutliCamera.m index 11ad9c66b..4462c9d08 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MutliCamera/MutliCamera.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/MutliCamera/MutliCamera.m @@ -90,7 +90,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/PictureInPicture/PictureInPicture.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/PictureInPicture/PictureInPicture.m index cd35a894e..505fbc03c 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/PictureInPicture/PictureInPicture.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/PictureInPicture/PictureInPicture.m @@ -84,7 +84,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/RTMPStreaming/RTMPStreaming.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/RTMPStreaming/RTMPStreaming.m index 06ea147dd..ad2e922b3 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/RTMPStreaming/RTMPStreaming.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/RTMPStreaming/RTMPStreaming.m @@ -115,7 +115,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/RawVideoData/RawVideoData.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/RawVideoData/RawVideoData.m index ad66220f0..3a26e046c 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/RawVideoData/RawVideoData.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/RawVideoData/RawVideoData.m @@ -90,7 +90,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/ScreenShare/ScreenShare.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/ScreenShare/ScreenShare.m index 9d606e1cb..31b62e276 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/ScreenShare/ScreenShare.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/ScreenShare/ScreenShare.m @@ -143,7 +143,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/SimpleFilter/SimpleFilter.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/SimpleFilter/SimpleFilter.m index db04971b7..1ba158d88 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/SimpleFilter/SimpleFilter.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/SimpleFilter/SimpleFilter.m @@ -92,7 +92,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/StreamEncryption/StreamEncryption.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/StreamEncryption/StreamEncryption.m index 4d880ca67..709fbec99 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/StreamEncryption/StreamEncryption.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/StreamEncryption/StreamEncryption.m @@ -147,7 +147,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VideoMetadata/VideoMetadata.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VideoMetadata/VideoMetadata.m index d210ce78c..8f05fe3cd 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VideoMetadata/VideoMetadata.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VideoMetadata/VideoMetadata.m @@ -88,7 +88,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VideoProcess/VideoProcess.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VideoProcess/VideoProcess.m index 74ed9bd87..bbe1854fc 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VideoProcess/VideoProcess.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VideoProcess/VideoProcess.m @@ -110,7 +110,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VoiceChanger/VoiceChanger.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VoiceChanger/VoiceChanger.m index b9d700124..ba2490788 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VoiceChanger/VoiceChanger.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/VoiceChanger/VoiceChanger.m @@ -475,7 +475,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo(Recorder)/JoinChannelVideoRecorder.m b/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo(Recorder)/JoinChannelVideoRecorder.m index 3ec4f7f82..c675bdafa 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo(Recorder)/JoinChannelVideoRecorder.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo(Recorder)/JoinChannelVideoRecorder.m @@ -167,7 +167,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo(Token)/JoinChannelVideoToken.m b/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo(Token)/JoinChannelVideoToken.m index 597ebacf2..d3c7a2bee 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo(Token)/JoinChannelVideoToken.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo(Token)/JoinChannelVideoToken.m @@ -112,7 +112,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo/JoinChannelVideo.m b/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo/JoinChannelVideo.m index f3fb97b42..a20212fe1 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo/JoinChannelVideo.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Basic/JoinChannelVideo/JoinChannelVideo.m @@ -83,7 +83,7 @@ - (void)viewDidLoad { AgoraVideoEncoderConfiguration *encoderConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(960, 540) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeAuto)]; [self.agoraKit setVideoEncoderConfiguration:encoderConfig]; diff --git a/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/ByteBeautify/BytedEffectVC.m b/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/ByteBeautify/BytedEffectVC.m index 1046954fd..f179d76b8 100644 --- a/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/ByteBeautify/BytedEffectVC.m +++ b/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/ByteBeautify/BytedEffectVC.m @@ -63,7 +63,7 @@ - (void) initSDK { AgoraVideoEncoderConfiguration *encodeConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(480, 640) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeDisabled)]; [self.rtcEngineKit setVideoEncoderConfiguration:encodeConfig]; diff --git a/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/ByteBeautify/Manager/Config.h b/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/ByteBeautify/Manager/Config.h index 5d0a43ae5..f36587c76 100644 --- a/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/ByteBeautify/Manager/Config.h +++ b/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/ByteBeautify/Manager/Config.h @@ -5,7 +5,7 @@ #ifndef Config_h #define Config_h -#define LICENSE_NAME ((const char *)"Agora_test_20241014_20241214_io.agora.entfull_4.5.0_2060.licbag") +#define LICENSE_NAME ((const char *)"Agora_test_io.agora.entfull.licbag") #define DEBUG_LOG false #define TIME_LOG false diff --git a/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/FUBeautify/FUBeautifyVC.m b/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/FUBeautify/FUBeautifyVC.m index 1d9decbbd..e4bc0cb64 100644 --- a/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/FUBeautify/FUBeautifyVC.m +++ b/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/FUBeautify/FUBeautifyVC.m @@ -64,7 +64,7 @@ - (void) initSDK { AgoraVideoEncoderConfiguration *encodeConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(480, 640) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeDisabled)]; [self.rtcEngineKit setVideoEncoderConfiguration:encodeConfig]; diff --git a/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/SenseBeautify/SenseBeautifyVC.m b/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/SenseBeautify/SenseBeautifyVC.m index 54e4999a4..98cb606d9 100644 --- a/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/SenseBeautify/SenseBeautifyVC.m +++ b/iOS/APIExample/APIExample/Examples/Advanced/ThirdBeautify/SenseBeautify/SenseBeautifyVC.m @@ -78,7 +78,7 @@ - (void) initSDK { AgoraVideoEncoderConfiguration *encodeConfig = [[AgoraVideoEncoderConfiguration alloc] initWithSize:CGSizeMake(480, 640) frameRate:(AgoraVideoFrameRateFps15) - bitrate:15 + bitrate:AgoraVideoBitrateStandard orientationMode:(AgoraVideoOutputOrientationModeFixedPortrait) mirrorMode:(AgoraVideoMirrorModeDisabled)]; [self.rtcEngineKit setVideoEncoderConfiguration:encodeConfig]; From 1bc28835cd61c349532bc9b025091135c56a752b Mon Sep 17 00:00:00 2001 From: zhangwei Date: Fri, 14 Feb 2025 21:29:59 +0800 Subject: [PATCH 002/156] [Android]update .h --- .gitignore | 1 + .../src/main/cpp/AgoraRtcKit/AgoraBase.h | 16 ++++++++++++++-- .../src/main/cpp/include/agora/AgoraBase.h | 16 ++++++++++++++-- .../examples/advanced/PictureInPicture.java | 11 ++++++++++- 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index b27e7ef9b..606b91bdf 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ xcuserdata .DS_Store AgoraRtcKit.framework */libs +/sdk diff --git a/Android/APIExample/agora-simple-filter/src/main/cpp/AgoraRtcKit/AgoraBase.h b/Android/APIExample/agora-simple-filter/src/main/cpp/AgoraRtcKit/AgoraBase.h index c3bfa34cb..9f106238d 100644 --- a/Android/APIExample/agora-simple-filter/src/main/cpp/AgoraRtcKit/AgoraBase.h +++ b/Android/APIExample/agora-simple-filter/src/main/cpp/AgoraRtcKit/AgoraBase.h @@ -427,6 +427,10 @@ enum WARN_CODE_TYPE { * 1053: Audio Device Module: The settings are improper. */ WARN_ADM_IMPROPER_SETTINGS = 1053, + /** + * 1055: Audio Device Module: The audio device is in a pop state. + */ + WARN_ADM_POP_STATE = 1055, /** * 1322: No recording device. */ @@ -2701,9 +2705,17 @@ enum AUDIO_SCENARIO_TYPE { */ AUDIO_SCENARIO_MEETING = 8, /** - * 9: The number of enumerations. + * 9: AI Server. + */ + AUDIO_SCENARIO_AI_SERVER = 9, + /** + * 10: AI Client. + */ + AUDIO_SCENARIO_AI_CLIENT = 10, + /** + * 11: The number of enumerations. */ - AUDIO_SCENARIO_NUM = 9, + AUDIO_SCENARIO_NUM = 11, }; /** diff --git a/Android/APIExample/agora-stream-encrypt/src/main/cpp/include/agora/AgoraBase.h b/Android/APIExample/agora-stream-encrypt/src/main/cpp/include/agora/AgoraBase.h index c3bfa34cb..9f106238d 100644 --- a/Android/APIExample/agora-stream-encrypt/src/main/cpp/include/agora/AgoraBase.h +++ b/Android/APIExample/agora-stream-encrypt/src/main/cpp/include/agora/AgoraBase.h @@ -427,6 +427,10 @@ enum WARN_CODE_TYPE { * 1053: Audio Device Module: The settings are improper. */ WARN_ADM_IMPROPER_SETTINGS = 1053, + /** + * 1055: Audio Device Module: The audio device is in a pop state. + */ + WARN_ADM_POP_STATE = 1055, /** * 1322: No recording device. */ @@ -2701,9 +2705,17 @@ enum AUDIO_SCENARIO_TYPE { */ AUDIO_SCENARIO_MEETING = 8, /** - * 9: The number of enumerations. + * 9: AI Server. + */ + AUDIO_SCENARIO_AI_SERVER = 9, + /** + * 10: AI Client. + */ + AUDIO_SCENARIO_AI_CLIENT = 10, + /** + * 11: The number of enumerations. */ - AUDIO_SCENARIO_NUM = 9, + AUDIO_SCENARIO_NUM = 11, }; /** diff --git a/Android/APIExample/app/src/main/java/io/agora/api/example/examples/advanced/PictureInPicture.java b/Android/APIExample/app/src/main/java/io/agora/api/example/examples/advanced/PictureInPicture.java index 4c21e0082..87913abe3 100644 --- a/Android/APIExample/app/src/main/java/io/agora/api/example/examples/advanced/PictureInPicture.java +++ b/Android/APIExample/app/src/main/java/io/agora/api/example/examples/advanced/PictureInPicture.java @@ -210,6 +210,10 @@ public void onPermissionsResult(boolean allPermissionsGranted, String[] permissi fl_remote3.removeAllViews(); } } else if (v.getId() == switch_float_window.getId()) { + if (Build.VERSION.SDK_INT >= 26 && requireActivity().isInPictureInPictureMode()) { + showLongToast("Please exit Picture-in-Picture mode first"); + return; + } showFloatWindow(); } else if (v.getId() == R.id.btn_pip) { if (checkPipSupported()) { @@ -500,7 +504,7 @@ private VideoReportLayout getRemoteView(int uid) { private void showFloatWindow() { FragmentActivity context = requireActivity(); if (FloatWindowHelper.checkPermission(context)) { - if (isFloatWindowShowing()) { + if (isFloatWindowShowing() || (Build.VERSION.SDK_INT >= 26 && requireActivity().isInPictureInPictureMode())) { return; } floatWindowView = FloatWindowHelper.createFloatView(context, 50, 50); @@ -563,6 +567,11 @@ private void enterPip() { if (android.os.Build.VERSION.SDK_INT < 26) { return; } + + if(isFloatWindowShowing()) { + dismissFloatWindow(); + } + requireActivity().enterPictureInPictureMode(pictureInPictureParamsBuilder .setAspectRatio(new Rational(video_layout_container.getWidth(), video_layout_container.getHeight())) .build()); From 8eab616e4d95f41b9e03b349be4f8a03791441cf Mon Sep 17 00:00:00 2001 From: qinhui <> Date: Mon, 17 Feb 2025 18:14:28 +0800 Subject: [PATCH 003/156] Modify the ci script --- .github/ci/build/build_ios.sh | 4 ++++ .github/ci/build/build_mac.sh | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.github/ci/build/build_ios.sh b/.github/ci/build/build_ios.sh index 6cfc26eb0..05e5cf415 100644 --- a/.github/ci/build/build_ios.sh +++ b/.github/ci/build/build_ios.sh @@ -53,6 +53,10 @@ echo short_version: $short_version echo pwd: `pwd` echo sdk_url: $sdk_url +export https_proxy=10.10.114.55:1080 +export http_proxy=10.10.114.55:1080 +export all_proxy=10.10.114.55:1080 + unzip_name=Agora_Native_SDK_for_iOS_FULL zip_name=output.zip sdk_url_flag=false diff --git a/.github/ci/build/build_mac.sh b/.github/ci/build/build_mac.sh index e0d163db8..d879e8cdc 100644 --- a/.github/ci/build/build_mac.sh +++ b/.github/ci/build/build_mac.sh @@ -51,6 +51,10 @@ echo short_version: $short_version echo pwd: `pwd` echo sdk_url: $sdk_url +export https_proxy=10.10.114.55:1080 +export http_proxy=10.10.114.55:1080 +export all_proxy=10.10.114.55:1080 + unzip_name=Agora_Native_SDK_for_iOS_FULL zip_name=output.zip sdk_url_flag=false From 49f9433735fc98d0cf98cb58c43c308bbaa5ae47 Mon Sep 17 00:00:00 2001 From: qinhui <> Date: Mon, 17 Feb 2025 18:31:20 +0800 Subject: [PATCH 004/156] modify ci script --- .github/ci/build/build_ios.sh | 1 + .github/ci/build/build_mac.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/ci/build/build_ios.sh b/.github/ci/build/build_ios.sh index 05e5cf415..619315616 100644 --- a/.github/ci/build/build_ios.sh +++ b/.github/ci/build/build_ios.sh @@ -56,6 +56,7 @@ echo sdk_url: $sdk_url export https_proxy=10.10.114.55:1080 export http_proxy=10.10.114.55:1080 export all_proxy=10.10.114.55:1080 +export LANG=en_US.UTF-8 unzip_name=Agora_Native_SDK_for_iOS_FULL zip_name=output.zip diff --git a/.github/ci/build/build_mac.sh b/.github/ci/build/build_mac.sh index d879e8cdc..da447e692 100644 --- a/.github/ci/build/build_mac.sh +++ b/.github/ci/build/build_mac.sh @@ -54,6 +54,7 @@ echo sdk_url: $sdk_url export https_proxy=10.10.114.55:1080 export http_proxy=10.10.114.55:1080 export all_proxy=10.10.114.55:1080 +export LANG=en_US.UTF-8 unzip_name=Agora_Native_SDK_for_iOS_FULL zip_name=output.zip From ecfe2e9ac9a7f68357b97c9b3a6a8c098ed914d1 Mon Sep 17 00:00:00 2001 From: qinhui <> Date: Mon, 17 Feb 2025 21:22:47 +0800 Subject: [PATCH 005/156] Fix picture-in-picture issue --- .../CustomRender/CustomRenderExample.swift | 3 +-- .../PictureInPicture/PIPCommon/PIPDisplayView.swift | 12 +++++++++++- .../SDKRender/SDKRenderExample.swift | 3 +-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/CustomRender/CustomRenderExample.swift b/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/CustomRender/CustomRenderExample.swift index 29f2aa4ba..1663b9b0d 100644 --- a/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/CustomRender/CustomRenderExample.swift +++ b/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/CustomRender/CustomRenderExample.swift @@ -49,7 +49,7 @@ struct CustomRenderExample: View { VStack(spacing: 30) { PIPDisplayView(viewModel: pipViewModel) .frame(maxWidth: .infinity, maxHeight: 200) - + Button { pipViewModel.togglePiP() } label: { @@ -78,7 +78,6 @@ struct CustomRenderExample: View { customRenderViewModel.cleanRtc() } .frame(maxWidth: .infinity, maxHeight: .infinity) - .adaptiveBackground(Color.orange) } } diff --git a/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/PIPCommon/PIPDisplayView.swift b/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/PIPCommon/PIPDisplayView.swift index a0782f96b..7ad1f0147 100644 --- a/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/PIPCommon/PIPDisplayView.swift +++ b/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/PIPCommon/PIPDisplayView.swift @@ -100,7 +100,14 @@ extension PIPViewModel: AVPictureInPictureControllerDelegate { guard let vc = pictureInPictureController.contentSource?.activeVideoCallContentViewController, let pipSourceView = backgroundView.pipSourceView else { return } vc.view.addSubview(pipSourceView) - pipSourceView.frame = vc.view.bounds + pipSourceView.translatesAutoresizingMaskIntoConstraints = false + NSLayoutConstraint.activate([ + pipSourceView.leadingAnchor.constraint(equalTo: vc.view.leadingAnchor), + pipSourceView.trailingAnchor.constraint(equalTo: vc.view.trailingAnchor), + pipSourceView.topAnchor.constraint(equalTo: vc.view.topAnchor), + pipSourceView.bottomAnchor.constraint(equalTo: vc.view.bottomAnchor) + ]) + vc.view.layoutIfNeeded() } func pictureInPictureControllerDidStopPictureInPicture(_ pictureInPictureController: AVPictureInPictureController) { @@ -108,6 +115,9 @@ extension PIPViewModel: AVPictureInPictureControllerDelegate { pipSourceView.removeFromSuperview() backgroundView.addSubview(pipSourceView) + pipSourceView.frame = backgroundView.bounds + pipSourceView.setNeedsLayout() + pipSourceView.layoutIfNeeded() } } diff --git a/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/SDKRender/SDKRenderExample.swift b/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/SDKRender/SDKRenderExample.swift index 2e35b343e..64641b951 100644 --- a/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/SDKRender/SDKRenderExample.swift +++ b/iOS/APIExample-SwiftUI/APIExample-SwiftUI/Examples/Advanced/PictureInPicture/SDKRender/SDKRenderExample.swift @@ -13,7 +13,7 @@ struct SDKRenderMockContainerView: View { var body: some View { HStack { - localView.frame(maxWidth: 200) + localView ForEach(viewModel.remoteRenderViews) { view in view } @@ -77,7 +77,6 @@ struct SDKRenderExample: View { sdkRenderViewModel.cleanRtc() } .frame(maxWidth: .infinity, maxHeight: .infinity) - .adaptiveBackground(Color.orange) } } From c0f52fc2d5fe688bfc1a0c6dd14ab97c260d5736 Mon Sep 17 00:00:00 2001 From: qinhui <> Date: Mon, 17 Feb 2025 21:43:05 +0800 Subject: [PATCH 006/156] Fix audio self-rendering issue. --- .../Examples/Advanced/CustomAudioRender/CustomAudioRender.m | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomAudioRender/CustomAudioRender.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomAudioRender/CustomAudioRender.m index 85989534d..8264d3f13 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomAudioRender/CustomAudioRender.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/CustomAudioRender/CustomAudioRender.m @@ -94,7 +94,8 @@ - (void)viewDidLoad { NSString *channelName = [self.configs objectForKey:@"channelName"]; // enable video module and set up video encoding configs [self.agoraKit enableAudio]; - + [self.agoraKit setAudioScenario:AgoraAudioScenarioGameStreaming]; + // set up local video to render your local camera preview AgoraRtcVideoCanvas *videoCanvas = [[AgoraRtcVideoCanvas alloc] init]; videoCanvas.uid = 0; @@ -113,7 +114,7 @@ - (void)viewDidLoad { // when joining channel. The channel name and uid used to calculate // the token has to match the ones used for channel join AgoraRtcChannelMediaOptions *options = [[AgoraRtcChannelMediaOptions alloc] init]; - options.publishMicrophoneTrack = NO; + options.publishMicrophoneTrack = YES; options.publishCameraTrack = NO; options.autoSubscribeAudio = YES; options.autoSubscribeVideo = NO; From 4d89d0a9d97534a04d5faa1b6a653b2c6b53779c Mon Sep 17 00:00:00 2001 From: HeZhengQing Date: Tue, 18 Feb 2025 11:55:44 +0800 Subject: [PATCH 007/156] [FIX] NMS-24996 --- .../Examples/Advanced/StreamEncryption/StreamEncryption.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/StreamEncryption/StreamEncryption.m b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/StreamEncryption/StreamEncryption.m index 4d880ca67..4b2df6ce2 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/StreamEncryption/StreamEncryption.m +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/StreamEncryption/StreamEncryption.m @@ -116,7 +116,7 @@ - (void)viewDidLoad { NSString *channelName = [self.configs objectForKey:@"channelName"]; NSString *secret = [self.configs objectForKey:@"secret"]; AgoraEncryptionMode mode = ((NSNumber *)[self.configs objectForKey:@"mode"]).integerValue; - BOOL useCustom = ((NSNumber *)[self.configs objectForKey:@"useCustom"]).boolValue; + BOOL useCustom = ((NSNumber *)[self.configs objectForKey:@"userCustom"]).boolValue; // make myself a broadcaster [self.agoraKit setClientRole:(AgoraClientRoleBroadcaster)]; // enable video module and set up video encoding configs From 62f0d8989e459c05619141a5e03c029b7a6e6e9f Mon Sep 17 00:00:00 2001 From: HeZhengQing Date: Tue, 18 Feb 2025 20:13:26 +0800 Subject: [PATCH 008/156] [FIX] camera focal --- .../Base.lproj/LiveStreaming.storyboard | 34 ++++++------------- .../LiveStreaming/LiveStreaming.swift | 27 --------------- iOS/APIExample/Podfile | 6 ++-- 3 files changed, 14 insertions(+), 53 deletions(-) diff --git a/iOS/APIExample/APIExample/Examples/Advanced/LiveStreaming/Base.lproj/LiveStreaming.storyboard b/iOS/APIExample/APIExample/Examples/Advanced/LiveStreaming/Base.lproj/LiveStreaming.storyboard index d433b379b..e70aad271 100644 --- a/iOS/APIExample/APIExample/Examples/Advanced/LiveStreaming/Base.lproj/LiveStreaming.storyboard +++ b/iOS/APIExample/APIExample/Examples/Advanced/LiveStreaming/Base.lproj/LiveStreaming.storyboard @@ -42,7 +42,7 @@ @@ -194,7 +186,7 @@ - + - + - + - + @@ -138,7 +138,7 @@ - + @@ -147,32 +147,32 @@ - + - + - + - - + + - - + + - - + + @@ -180,32 +180,32 @@ - + - + - + - + - - + + @@ -243,29 +243,29 @@ - + - + - - + + - - + + - - + + @@ -273,32 +273,32 @@ - + - + - + - + - - + + diff --git a/macOS/APIExample/Examples/Advanced/SpatialAudio/SpatialAudio.swift b/macOS/APIExample/Examples/Advanced/SpatialAudio/SpatialAudio.swift index c58dd077e..dd3d72892 100644 --- a/macOS/APIExample/Examples/Advanced/SpatialAudio/SpatialAudio.swift +++ b/macOS/APIExample/Examples/Advanced/SpatialAudio/SpatialAudio.swift @@ -47,7 +47,7 @@ class SpatialAudioMain: BaseViewController { if audioSettingView2.isHidden == false { audioSettingView2.isHidden = true } - isJoind ? (joinChannelButton.title = "离开频道") : (joinChannelButton.title = "加入频道") + isJoind ? (joinChannelButton.title = "leave channel") : (joinChannelButton.title = "join channel") } } diff --git a/macOS/APIExample/Examples/Advanced/SpatialAudio/en.lproj/SpatialAudio.storyboard b/macOS/APIExample/Examples/Advanced/SpatialAudio/en.lproj/SpatialAudio.storyboard index d89df3384..40c2a9321 100644 --- a/macOS/APIExample/Examples/Advanced/SpatialAudio/en.lproj/SpatialAudio.storyboard +++ b/macOS/APIExample/Examples/Advanced/SpatialAudio/en.lproj/SpatialAudio.storyboard @@ -1,8 +1,8 @@ - + - + @@ -14,9 +14,9 @@ - - - + + + @@ -28,9 +28,9 @@ - - - + + + @@ -69,14 +69,14 @@ - + @@ -138,7 +138,7 @@ - + @@ -147,32 +147,32 @@ - + - + - + - - + + - - + + - - + + @@ -180,32 +180,32 @@ - + - + - + - + - - + + @@ -243,29 +243,29 @@ - + - + - - + + - - + + - - + + @@ -273,32 +273,32 @@ - + - + - + - + - - + + diff --git a/macOS/APIExample/Examples/Advanced/SpatialAudio/zh-Hans.lproj/SpatialAudio.strings b/macOS/APIExample/Examples/Advanced/SpatialAudio/zh-Hans.lproj/SpatialAudio.strings index 07002c325..f74d10db8 100644 --- a/macOS/APIExample/Examples/Advanced/SpatialAudio/zh-Hans.lproj/SpatialAudio.strings +++ b/macOS/APIExample/Examples/Advanced/SpatialAudio/zh-Hans.lproj/SpatialAudio.strings @@ -1,30 +1,30 @@ -/* Class = "NSTextFieldCell"; title = "请移动红色图标体验3D音频效果"; ObjectID = "0XP-YK-KuI"; */ -"0XP-YK-KuI.title" = "请移动红色图标体验3D音频效果"; +/* Class = "NSTextFieldCell"; title = "Move the red icon to experience 3D audio effects"; ObjectID = "0XP-YK-KuI"; */ +"0XP-YK-KuI.title" = "Move the red icon to experience 3D audio effects"; -/* Class = "NSButtonCell"; title = "加入频道"; ObjectID = "55m-Re-Kgb"; */ -"55m-Re-Kgb.title" = "加入频道"; +/* Class = "NSButtonCell"; title = "Join Channel"; ObjectID = "55m-Re-Kgb"; */ +"55m-Re-Kgb.title" = "Join Channel"; -/* Class = "NSTextFieldCell"; title = "频道号"; ObjectID = "8kK-yU-WUO"; */ -"8kK-yU-WUO.title" = "频道号"; +/* Class = "NSTextFieldCell"; title = "Channel ID"; ObjectID = "8kK-yU-WUO"; */ +"8kK-yU-WUO.title" = "Channel ID"; -/* Class = "NSTextFieldCell"; title = "音障"; ObjectID = "DuM-M6-we2"; */ -"DuM-M6-we2.title" = "音障"; +/* Class = "NSTextFieldCell"; title = "Sound Barrier"; ObjectID = "DuM-M6-we2"; */ +"DuM-M6-we2.title" = "Sound Barrier"; /* Class = "NSBox"; title = "Box"; ObjectID = "F9J-RG-ORp"; */ "F9J-RG-ORp.title" = "Box"; -/* Class = "NSTextFieldCell"; title = "Attenuatuin"; ObjectID = "Olg-lx-iDF"; */ -"Olg-lx-iDF.title" = "Attenuatuin"; +/* Class = "NSTextFieldCell"; title = "Attenuation"; ObjectID = "Olg-lx-iDF"; */ +"Olg-lx-iDF.title" = "Attenuation"; -/* Class = "NSTextFieldCell"; title = "Attenuatuin"; ObjectID = "Rvd-Eg-yDs"; */ -"Rvd-Eg-yDs.title" = "Attenuatuin"; +/* Class = "NSTextFieldCell"; title = "Attenuation"; ObjectID = "Rvd-Eg-yDs"; */ +"Rvd-Eg-yDs.title" = "Attenuation"; -/* Class = "NSTextFieldCell"; title = "静音"; ObjectID = "SPa-zU-xrL"; */ -"SPa-zU-xrL.title" = "静音"; +/* Class = "NSTextFieldCell"; title = "Mute"; ObjectID = "SPa-zU-xrL"; */ +"SPa-zU-xrL.title" = "Mute"; -/* Class = "NSTextFieldCell"; placeholderString = "输入频道号"; ObjectID = "Seb-dp-fRr"; */ -"Seb-dp-fRr.placeholderString" = "输入频道号"; +/* Class = "NSTextFieldCell"; placeholderString = "Enter Channel ID"; ObjectID = "Seb-dp-fRr"; */ +"Seb-dp-fRr.placeholderString" = "Enter Channel ID"; /* Class = "NSBox"; title = "Box"; ObjectID = "UVp-jP-AeX"; */ "UVp-jP-AeX.title" = "Box"; @@ -35,14 +35,14 @@ /* Class = "NSBox"; title = "Box"; ObjectID = "Zpd-F6-3hM"; */ "Zpd-F6-3hM.title" = "Box"; -/* Class = "NSTextFieldCell"; title = "麦克风"; ObjectID = "dgP-7k-2RR"; */ -"dgP-7k-2RR.title" = "麦克风"; +/* Class = "NSTextFieldCell"; title = "Microphone"; ObjectID = "dgP-7k-2RR"; */ +"dgP-7k-2RR.title" = "Microphone"; /* Class = "NSTextFieldCell"; title = "Voice Blur"; ObjectID = "dps-1x-WRS"; */ "dps-1x-WRS.title" = "Voice Blur"; -/* Class = "NSTextFieldCell"; title = "静音"; ObjectID = "e6q-8k-QYN"; */ -"e6q-8k-QYN.title" = "静音"; +/* Class = "NSTextFieldCell"; title = "Mute"; ObjectID = "e6q-8k-QYN"; */ +"e6q-8k-QYN.title" = "Mute"; /* Class = "NSTextFieldCell"; title = "Voice Blur"; ObjectID = "i8Q-uY-ZPE"; */ "i8Q-uY-ZPE.title" = "Voice Blur"; @@ -56,5 +56,5 @@ /* Class = "NSTextFieldCell"; title = "Airborne Simulation"; ObjectID = "w1T-YB-klu"; */ "w1T-YB-klu.title" = "Airborne Simulation"; -/* Class = "NSTextFieldCell"; title = "房间"; ObjectID = "wB6-0F-DcM"; */ -"wB6-0F-DcM.title" = "房间"; +/* Class = "NSTextFieldCell"; title = "Room"; ObjectID = "wB6-0F-DcM"; */ +"wB6-0F-DcM.title" = "Room"; diff --git a/macOS/APIExample/Examples/Advanced/StreamEncryption/zh-Hans.lproj/StreamEncryption.strings b/macOS/APIExample/Examples/Advanced/StreamEncryption/zh-Hans.lproj/StreamEncryption.strings index a3003f84a..c4d5facfc 100644 --- a/macOS/APIExample/Examples/Advanced/StreamEncryption/zh-Hans.lproj/StreamEncryption.strings +++ b/macOS/APIExample/Examples/Advanced/StreamEncryption/zh-Hans.lproj/StreamEncryption.strings @@ -1,6 +1,6 @@ /* Class = "NSButtonCell"; title = "Join"; ObjectID = "1ik-om-mWj"; */ -"1ik-om-mWj.title" = "加入频道"; +"1ik-om-mWj.title" = "Join Channel"; /* Class = "NSMenuItem"; title = "1V1"; ObjectID = "6f9-0B-egB"; */ "6f9-0B-egB.title" = "1V1"; @@ -9,19 +9,19 @@ "Gwp-vd-c2J.title" = "Stream Encryption"; /* Class = "NSButtonCell"; title = "Leave"; ObjectID = "Owt-vb-7U9"; */ -"Owt-vb-7U9.title" = "离开频道"; +"Owt-vb-7U9.title" = "Leave Channel"; /* Class = "NSMenuItem"; title = "1V3"; ObjectID = "S4i-eh-YzK"; */ "S4i-eh-YzK.title" = "1V3"; -/* Class = "NSTextFieldCell"; placeholderString = "加入频道"; ObjectID = "aj5-Fn-je9"; */ -"aj5-Fn-je9.placeholderString" = "输入频道名"; +/* Class = "NSTextFieldCell"; placeholderString = "Join Channel"; ObjectID = "aj5-Fn-je9"; */ +"aj5-Fn-je9.placeholderString" = "Enter Channel Name"; /* Class = "NSMenuItem"; title = "1V15"; ObjectID = "cxo-X2-S8L"; */ "cxo-X2-S8L.title" = "1V15"; /* Class = "NSTextFieldCell"; placeholderString = "Encryption Secret"; ObjectID = "sOM-VA-bwW"; */ -"sOM-VA-bwW.placeholderString" = "加密密码"; +"sOM-VA-bwW.placeholderString" = "Encryption Secret"; /* Class = "NSMenuItem"; title = "1V8"; ObjectID = "zu1-vg-leG"; */ "zu1-vg-leG.title" = "1V8"; diff --git a/macOS/APIExample/Examples/Advanced/VideoProcess/Base.lproj/VideoProcess.storyboard b/macOS/APIExample/Examples/Advanced/VideoProcess/Base.lproj/VideoProcess.storyboard index b5a92b9b5..55bea67c4 100644 --- a/macOS/APIExample/Examples/Advanced/VideoProcess/Base.lproj/VideoProcess.storyboard +++ b/macOS/APIExample/Examples/Advanced/VideoProcess/Base.lproj/VideoProcess.storyboard @@ -1,8 +1,8 @@ - + - + @@ -138,9 +138,9 @@ - + - + @@ -156,7 +156,7 @@ - + @@ -173,7 +173,7 @@ - + @@ -190,7 +190,7 @@ - + @@ -199,7 +199,7 @@ - + @@ -224,7 +224,7 @@ - + @@ -266,7 +266,7 @@ diff --git a/macOS/APIExample/Examples/Advanced/VideoProcess/VideoProcess.swift b/macOS/APIExample/Examples/Advanced/VideoProcess/VideoProcess.swift index 3641a3e95..dcc589045 100644 --- a/macOS/APIExample/Examples/Advanced/VideoProcess/VideoProcess.swift +++ b/macOS/APIExample/Examples/Advanced/VideoProcess/VideoProcess.swift @@ -668,19 +668,16 @@ private let makeupList = [ // MARK: make up setting extension VideoProcess { @IBAction func onShowMakeUpAction(_ button: NSButton) { - // 创建自定义视图控制器 let customAlertVC = NSViewController() customAlertVC.view.wantsLayer = true customAlertVC.view.layer?.backgroundColor = NSColor.black.cgColor - // 自定义内容视图 let alertView = NSView() alertView.translatesAutoresizingMaskIntoConstraints = false alertView.wantsLayer = true customAlertVC.view.addSubview(alertView) - // 设置 alertView 的约束 NSLayoutConstraint.activate([ alertView.centerXAnchor.constraint(equalTo: customAlertVC.view.centerXAnchor), alertView.centerYAnchor.constraint(equalTo: customAlertVC.view.centerYAnchor), @@ -688,7 +685,6 @@ extension VideoProcess { alertView.heightAnchor.constraint(equalToConstant: 300) ]) - // 创建 scrollView let scrollView = NSScrollView() scrollView.translatesAutoresizingMaskIntoConstraints = false alertView.addSubview(scrollView) @@ -697,7 +693,7 @@ extension VideoProcess { scrollView.topAnchor.constraint(equalTo: alertView.topAnchor), scrollView.leadingAnchor.constraint(equalTo: alertView.leadingAnchor), scrollView.trailingAnchor.constraint(equalTo: alertView.trailingAnchor), - scrollView.bottomAnchor.constraint(equalTo: alertView.bottomAnchor, constant: -50) // 留出按钮位置 + scrollView.bottomAnchor.constraint(equalTo: alertView.bottomAnchor, constant: -50) ]) let contentView = NSStackView() @@ -706,7 +702,6 @@ extension VideoProcess { contentView.spacing = 10 scrollView.documentView = contentView - // 添加 UILabels 和控件到 contentView for i in 0.. 项目列表** 菜单 -3. 复制后台的 **App Id** 并备注,稍后启动应用时会用到它 -4. 如果开启了token,需要获取 App 证书并设置给`certificate` - -5. 打开 `APIExample.xcworkspace` 并编辑 `KeyCenter.swift`,将你的 AppID 和 Certificate 分别替换到 `<#Your APPID#>` 与 `<#YOUR Certificate#>` - - ``` - /** - Agora 给应用程序开发人员分配 App ID,以识别项目和组织。如果组织中有多个完全分开的应用程序,例如由不同的团队构建, - 则应使用不同的 App ID。如果应用程序需要相互通信,则应使用同一个App ID。 - 进入声网控制台(https://console.agora.io/),创建一个项目,进入项目配置页,即可看到APP ID。 - */ - static let AppId: String = <# YOUR APPID#> - - /** - Agora 提供 App certificate 用以生成 Token。您可以在您的服务器部署并生成 Token,或者使用控制台生成临时的 Token。 - 进入声网控制台(https://console.agora.io/),创建一个带证书鉴权的项目,进入项目配置页,即可看到APP证书。如果项目没有开启证书鉴权,这个字段留空。 - 注意:App证书放在客户端不安全,推荐放在服务端以确保 App 证书不会泄露。 - */ - static var Certificate: String? = <#YOUR Certificate#> - ``` - -然后你就可以使用 `APIExample.xcworkspace` 编译并运行项目了。 - -## 联系我们 - -- 如果你遇到了困难,可以先参阅 [常见问题](https://docs.agora.io/cn/faq) -- 如果你想了解更多官方示例,可以参考 [官方SDK示例](https://github.com/AgoraIO) -- 如果你想了解声网SDK在复杂场景下的应用,可以参考 [官方场景案例](https://github.com/AgoraIO-usecase) -- 如果你想了解声网的一些社区开发者维护的项目,可以查看 [社区](https://github.com/AgoraIO-Community) -- 完整的 API 文档见 [文档中心](https://docs.agora.io/cn/) -- 若遇到问题需要开发者帮助,你可以到 [开发者社区](https://rtcdeveloper.com/) 提问 -- 如果需要售后技术支持, 你可以在 [Agora Dashboard](https://dashboard.agora.io) 提交工单 -- 如果发现了示例代码的 bug,欢迎提交 [issue](https://github.com/AgoraIO/Basic-Video-Call/issues) - -## 代码许可 - -The MIT License (MIT) diff --git a/macOS/cloud_build.sh b/macOS/cloud_build.sh index ecf482327..2d6d2f5fd 100755 --- a/macOS/cloud_build.sh +++ b/macOS/cloud_build.sh @@ -14,21 +14,21 @@ fi cd ${PROJECT_PATH} && pod install || exit 1 -# 打包环境 +# Build environment CONFIGURATION="Debug" -#工程文件路径 +# Project file path APP_PATH="$(ls | grep xcworkspace)" -# 项目target名 +# Project target name TARGET_NAME=${APP_PATH%%.*} KEYCENTER_PATH=$TARGET_NAME/Common/KeyCenter.swift -#工程配置路径 +# Project configuration path PBXPROJ_PATH=${TARGET_NAME}.xcodeproj/project.pbxproj -# 主项目工程配置 +# Main project configuration # Debug /usr/libexec/PlistBuddy -c "Set :objects:03896D5324F8A011008593CD:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH /usr/libexec/PlistBuddy -c "Set :objects:03896D5324F8A011008593CD:buildSettings:CODE_SIGN_IDENTITY 'Developer ID Application'" $PBXPROJ_PATH @@ -50,14 +50,14 @@ PBXPROJ_PATH=${TARGET_NAME}.xcodeproj/project.pbxproj /usr/libexec/PlistBuddy -c "Set :objects:8BD4AE7F272518D600E95B87:buildSettings:DEVELOPMENT_TEAM ''" $PBXPROJ_PATH /usr/libexec/PlistBuddy -c "Set :objects:8BD4AE7F272518D600E95B87:buildSettings:PROVISIONING_PROFILE_SPECIFIER ''" $PBXPROJ_PATH -#修改build number +# Modify build number # Debug /usr/libexec/PlistBuddy -c "Set :objects:03896D5324F8A011008593CD:buildSettings:CURRENT_PROJECT_VERSION ${BUILD_NUMBER}" $PBXPROJ_PATH # Release /usr/libexec/PlistBuddy -c "Set :objects:03896D5424F8A011008593CD:buildSettings:CURRENT_PROJECT_VERSION ${BUILD_NUMBER}" $PBXPROJ_PATH -# 读取APPID环境变量 +# Read APPID environment variable echo AGORA_APP_ID: $APP_ID echo PROJECT_PATH: $PROJECT_PATH @@ -65,37 +65,37 @@ echo TARGET_NAME: $TARGET_NAME echo KEYCENTER_PATH: $KEYCENTER_PATH echo APP_PATH: $APP_PATH -#修改Keycenter文件 +# Modify Keycenter file sed -i -e "s#<\#YOUR AppId\#>#\"$APP_ID\"#g" $KEYCENTER_PATH rm -f ${KEYCENTER_PATH}-e # Xcode clean xcodebuild clean -workspace "${APP_PATH}" -configuration "${CONFIGURATION}" -scheme "${TARGET_NAME}" -# 时间戳 +# Timestamp CURRENT_TIME=$(date "+%Y-%m-%d %H-%M-%S") -# 归档路径 +# Archive path ARCHIVE_PATH="${WORKSPACE}/${TARGET_NAME}_${BUILD_NUMBER}.xcarchive" -# 编译环境 +# Build environment -# plist路径 +# Plist path PLIST_PATH="${PROJECT_PATH}/ExportOptions.plist" echo PLIST_PATH: $PLIST_PATH -# archive 这边使用的工作区间 也可以使用project +# Archive using workspace (can also use project) xcodebuild archive -workspace "${APP_PATH}" -scheme "${TARGET_NAME}" -configuration "${CONFIGURATION}" -archivePath "${ARCHIVE_PATH}" cd ${WORKSPACE} -# 压缩archive +# Compress archive 7za a -tzip "${TARGET_NAME}_${BUILD_NUMBER}.xcarchive.zip" "${ARCHIVE_PATH}" echo "start sign..." -# 签名 +# Sign sh sign "${WORKSPACE}/${TARGET_NAME}_${BUILD_NUMBER}.xcarchive.zip" --type xcarchive --plist "${PLIST_PATH}" --application macApp @@ -106,5 +106,3 @@ mv ${TARGET_NAME}_${BUILD_NUMBER}.app.zip $OUTPUT_FILE rm -rf *.xcarchive rm -rf *.xcarchive.zip echo OUTPUT_FILE: $OUTPUT_FILE - - From ac98cbe3b041198558e91b51cee750478b0d6f36 Mon Sep 17 00:00:00 2001 From: qinhui <> Date: Mon, 28 Apr 2025 20:08:07 +0800 Subject: [PATCH 087/156] Translate Chinese characters --- .../Base.lproj/Main.storyboard | 30 +- .../SpatialAudio/SpatialAudio.storyboard | 54 +-- .../APIExample-OC.xcodeproj/project.pbxproj | 36 +- .../APIExample-OC/Common/BaseViewController.h | 3 - .../Base.lproj/LiveStreaming.storyboard | 255 ++++++------- .../SpatialAudio/SpatialAudio.storyboard | 44 +-- .../APIExample/Base.lproj/Main.storyboard | 26 +- .../Base.lproj/LiveStreaming.storyboard | 334 +++++++----------- .../SpatialAudio/SpatialAudio.storyboard | 50 +-- .../Advanced/SpatialAudio/SpatialAudio.swift | 2 +- .../SenseBeautify/Manager/EffectsDetector.m | 2 +- iOS/APIExample/README.zh.md | 80 ----- 12 files changed, 349 insertions(+), 567 deletions(-) delete mode 100644 iOS/APIExample/README.zh.md diff --git a/iOS/APIExample-Audio/APIExample-Audio/Base.lproj/Main.storyboard b/iOS/APIExample-Audio/APIExample-Audio/Base.lproj/Main.storyboard index aeee604b6..5bb93a56b 100644 --- a/iOS/APIExample-Audio/APIExample-Audio/Base.lproj/Main.storyboard +++ b/iOS/APIExample-Audio/APIExample-Audio/Base.lproj/Main.storyboard @@ -1,9 +1,9 @@ - + - + @@ -18,7 +18,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -90,7 +90,7 @@ - + @@ -116,7 +116,7 @@ - + @@ -245,7 +245,7 @@ - + @@ -285,8 +285,8 @@ - - + + @@ -301,7 +301,7 @@ - + @@ -327,8 +327,8 @@ - - + + @@ -395,7 +395,7 @@ - + diff --git a/iOS/APIExample-Audio/APIExample-Audio/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard b/iOS/APIExample-Audio/APIExample-Audio/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard index 220dd5a85..cd9850503 100644 --- a/iOS/APIExample-Audio/APIExample-Audio/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard +++ b/iOS/APIExample-Audio/APIExample-Audio/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard @@ -1,9 +1,9 @@ - + - + @@ -12,13 +12,13 @@ - + - + @@ -44,13 +44,13 @@ - + @@ -81,22 +81,22 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -394,7 +367,7 @@ - + diff --git a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard index f4d93a626..777523ff2 100644 --- a/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard +++ b/iOS/APIExample-OC/APIExample-OC/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard @@ -1,9 +1,9 @@ - + - + @@ -86,17 +86,17 @@ - - + + @@ -472,50 +420,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -566,7 +470,7 @@ - + diff --git a/iOS/APIExample/APIExample/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard b/iOS/APIExample/APIExample/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard index 220dd5a85..0e1be23cc 100644 --- a/iOS/APIExample/APIExample/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard +++ b/iOS/APIExample/APIExample/Examples/Advanced/SpatialAudio/SpatialAudio.storyboard @@ -1,9 +1,9 @@ - + - + @@ -18,7 +18,7 @@ - + @@ -44,13 +44,13 @@ - + @@ -86,17 +86,17 @@ -