Video Call
  • iOS
  • Android
  • Web
  • Flutter
  • React Native
  • Electron
  • Unity3D : C#
  • Cocos Creator
  • Windows
  • macOS
  • Linux
  • Overview
  • Develop your app
    • Integrate the SDK
    • Implement a basic video call
    • Enhance basic feature
      • Use Tokens for authentication
      • Check the room connection status
  • Resources & Reference
    • SDK
    • Sample codes
    • API reference
      • Client APIs
      • Server APIs
    • Debugging
      • Error codes
    • Key concepts
  • Documentation
  • Video Call
  • Resources & Reference
  • SDK
  • Release notes

Release notes

Last updated:2024-01-18 17:21

Version 3.12.4

Release date: 2024-01-18

New Features

Note:

Please contact ZEGOCLOUD technical support if you need to use this feature.

The plugin cannot be used alone and must be used with Express SDK.

Support for copyright-music function pluginization, when the developer's business scenario only needs to update the copyright-music related, you can independently integrate the plugin without updating the Express SDK, which can smoothly migrate.

Bug Fixes

1. Fixed the issue where UI freezes may occur in a very low probability if the network is abnormal when switching networks.



Version 3.12.3

Release date: 2024-01-08

Bug Fixes

1. Fix the issue of occasional crashes when calling the [EnableAudioCaptureDevice] interface on iOS platform.



Version 3.12.2

Release date: 2024-01-04

Bug Fixes

1. Fixed a potential issue.



Version 3.11.0

Release date: 2023-12-13

New Features

1. Added enable or disable pull flow alignment function.

This function is often used in scenes that require mixed stream alignment, such as KTV. When playing at the streaming end, use the [SetPlayStreamsAlignmentProperty] interface to control whether the real-time audio and video streams need to be accurately aligned. If necessary, all the streams that contain precise alignment parameters will be aligned; if not, all streams are not aligned.

For related API, please refer to SetPlayStreamsAlignmentProperty

2. Color enhancement is supported when publishing video-streams.

For various cameras and other devices that capture images, if the colors appear grayish or have low saturation, we support enhancing the colors while preserving the natural skin tones. This will make the images more vibrant and brighter, creating a more realistic visual experience for the human eye.

For related API, please refer to EnableColorEnhancement

3. All network requests support the IPv6 protocol.

4. Hardware decoding acceleration supported for MJPEG format.

Note: This feature only supports pre-processing of screenshots and does not support other processing such as rotation or watermarking.

When the video format output by the capture device is MJPEG, hardware decoding acceleration is enabled by default to prevent issues such as insufficient frame rate due to insufficient device performance.

This feature is suitable for use on capture devices with a 4K resolution mainly.

5. Support for using live streams as input streams for mixing.

Newly added support for using live streams as input streams for mixing; the URL of the live input stream supports both RTMP and HTTP-FLV protocols. This feature is suitable for mixing the RTC video streams of hosts' interactive broadcasting with cloud sports live streams, game live streams, etc., to achieve scenarios such as game or sports commentary in live broadcasting.

Enhancements

1. Optimize server-side mixing and single-stream transcoding capabilities.

Optimize server-side mix streaming and single-stream transcoding capabilities to improve encoding efficiency and achieve a 5% or more increase in subjective and objective video quality at the same bitrate.

2. Optimize the AEC (Acoustic Echo Cancellation) algorithm to achieve better AEC performance.

3. Optimize network connection strategies to enhance the experience of audio and video calls.

4. Optimize the strategy of switching between the front and back end to solve the problem of collecting silence in certain specific scenarios or models on Android platform.

5. Optimize multi-device login logic.

After the user successfully logs in on device A, device A loses network connection. Then, the user logs in successfully on device B using the same userID. If the network connection on device A is restored and a reconnection is attempted, it will fail and throw error code 1002086, indicating that the userID is already logged in another device.

Bug Fixes

1. Fixed an issue where crashes occurred due to hardware encoding and decoding in certain situations on iOS platform.

2. Fix the issue of no notification after restoring camera capture on iOS platform.

3. Fixed the issue that caused crashes in certain decoding scenarios on Android platform.

4. Fix the crash issue when N card hardware decoding exits in certain situations on Windows platform.

5. Fixing the problem with the restart strategy when encountering camera abnormalities on Windows platform.



Version 3.10.2

Release date: 2023-11-20

Bug Fixes

1. Fixed the problem of false positives in the hibernate detection module, affecting room re-login and stream publishing-playing retry logic.



Version 3.10.1

Release date: 2023-11-09

Bug Fixes

1. Fixed the issue of a black screen appearing after turning on low-illumination enhancement.



Version 3.8.1

Release date: 2023-08-17

New Features

1. Added support for Smart Cloud Proxy mode.

Note: If you need to use this function, please contact ZEGOCLOUD technical support.

After the developer sets the Smart Cloud Proxy mode, when publishing streams from RTC or L3, it will give priority to using the direct network mode to try. If the direct connection network is unavailable and it is currently a cellular network, continue to stay in the direct connection mode and try again; if the direct connection network is not available and it is currently a non-cellular network, then switch to the cloud proxy mode.

2. Custom video pre-processing function supports dual output.

The custom video pre-processing function supports dual output, which supports the output of memory data and 2D texture data. Developers can use these data to implement third-party beautification functions, and perform face detection and beautification with higher performance.

For related API, please refer to OnCapturedUnprocessedRawData, ZegoVideoBufferTypeGLTexture2DAndRawData

3. Mediaplayer supports setting Http Headers of network resources.

The mediaplayer supports setting the Http Headers of network resources. Based on this configuration, developers can customize and limit the access methods of network resources to strengthen the security protection of resources.

For related API, please refer to SetHttpHeader

4. Support multi-source acquisition capability.

For a variety of interactive scenarios of audio and video sources such as online KTV, watching movies together, watching competitions, video conferences, and online education, multi-source acquisition provides flexible and easy-to-use audio and video acquisition sources and channel management capabilities, greatly reducing developers' development and maintenance costs.

Multi source acquisition capability shortens, optimizes and normalizes the implementation path of common capabilities such as screen sharing and mixing. After version 3.8.0, you can no longer implement the above complex capabilities through custom acquisition.

The main capabilities and characteristics are as follows.

  1. Streaming channel supports setting or switching multiple audio and video sources.

  2. Common capabilities such as screen sharing and mixing are supported.

Enhancements

1. Optimize the video rendering effect of iOS platform.



Version 3.7.0

Release date: 2023-07-18

New Features

1. After enabling the encoding of H.264 DualStream, in addition to the video parameters for the big stream, it is now possible to set the video parameters for the small one.

Note:

  1. Before using this function, you need to call the SetVideoConfig interface to specify the video codecID as ZegoVideoCodecIDH264DualStream.

  2. The ratio of setting the resolution for the big stream and the small stream needs to be consistent, otherwise it will cause errors when calling the interface.

When specifying the codecID as ZegoVideoCodecIDH264DualStream, you can separately set the resolution, frame rate, and bitrate for the big stream and the small stream.

For related API, please refer to ZegoExpressEngine > SetVideoConfig, SetPublishDualStreamConfig

2. Support dynamically modify AudioDeviceMode.

Add SetAudioDeviceMode to dynamically modify the audio mode of the device. This configuration determines the volume mode, preprocessing mode and Mic occupation logic of the device. You can choose according to specific scenarios.

For related API, please refer to SetAudioDeviceMode

3. Supports audio and video within a range of ten thousand people, as well as game voice chat with 3D sound effect distance attenuation range.

In the scenarios of large-scale audio-video, game voice, it supports setting the attenuation range [min, max] of 3D sound effect distance. When the distance is less than min, the volume will not decrease with the increase of distance; when the distance is greater than max, the sound of the other party will not be audible.

For related API, please refer to SetReceiveRange, SetAudioReceiveRange

4. Express Unity3D SDK supports running in WebGL environment

The Unity project running in the WebGL environment has added some functions and interfaces that support the use of ZEGO RTC services, including audio and video calls, device management and other capabilities.

Enhancements

1. Support generating log upload tasks after calling the [DestroyEngine] interface.

For related API, please refer to SubmitLog



Version 3.4.2

Release date: 2023-04-25

New Features

1. Support enabling Camera adaptive frame rate

Note: When the frame rate set by SetVideoConfig is lower than EnableCameraAdaptiveFPS expected frame rate minimum value, the frame rate value set by SetVideoConfig will be used. Due to the different hardware and algorithm strategies of different mobile phone manufacturers, the effect of this interface is different on different models or on the Camera of the same model.

When the frame rate set by the publish streams user is high, and the environment where the light is low and the subject cannot be displayed or recognized normally, the EnableCameraAdaptiveFPS interface can be called to automatically reduce the frame rate within a certain range. Increase the exposure time to increase the brightness of the Video image. This function is often used in live broadcast scenes that require high exposure. EnableCameraAdaptiveFPS interface needs to be called after CreateEngine interface is called to initialize the engine and before starting the Camera.

For related APIs, please refer to EnableCameraAdaptiveFPS

2. Support setting low-light enhancement

Note: After calling the CreateEngine interface to create an engine, call the SetLowlightEnhancement interface.

When the surrounding environment of the publish streams user is dark, or the frame rate of the Camera is set high, resulting in a dark live broadcast image that cannot be displayed or recognized normally, the SetLowlightEnhancement interface can be called to set low illumination Enhance, increase the brightness of the Video screen. The low-light enhancement function includes three modes: 1: Disable low-light enhancement (default), 2: Enable low-light enhancement, 3: Automatically switch low-light enhancement.

Developers can choose different low-light enhancement modes according to business scenarios: when they want to judge whether low-light enhancement is needed, they can Controller by switching between mode 1 and mode 2; when they want SDK to automatically enhance, they can use mode 3, SDK It will automatically judge the lighting environment the user is in, and turn on or off the low-light enhancement.

For related APIs, please refer to SetLowlightEnhancement

3. Support to enable system sound card capture

After the sound card capture is enabled, the sound played by the system can be mixed into the publish streams, such as the sound played by the browser, the sound played by third-party player software, etc., and supports setting the collection Volume through SetMixSystemPlayoutVolume.

For related APIs, please refer to EnableMixSystemPlayout, SetMixSystemPlayoutVolume

Bug Fixes

1. Fixed the problem that the app may crash when exiting

Deleted

1. Starting from version 3.4.2, the support for versions below iOS 11.0 is abandoned, and the iOS Deployment Target (minimum supported version) is upgraded to iOS 11.0

For details, please refer to App Store submission requirement starts April 25 and Xcode 14 Release Notes.

2. Starting from version 3.4.2, iOS SDK no longer supports 32-bit armv7 architecture

For details, please refer to Xcode 14 Release Notes.



Version 3.3.0

Release date: 2023-03-24

New Features

1. Add StandardVoiceCall for scene-based Voice Calling and Video configuration. Add StandardVoiceCall for scene-based Voice Calling and Video configuration. It is suitable for 1v1 pure Voice Calling scenarios.

For related APIs, please refer to SetRoomScenario

2. Support setting the minimum value of FPS and Video resolution.

Added SetMinVideoFpsForTrafficControl and SetMinVideoResolutionForTrafficControl interfaces. When the user network is poor and Flow Control is enabled, the minimum FPS and resolution can be set by calling the interface to help users Comprehensively Controller the display effect of the Video.

For related APIs, please refer to SetMinVideoFpsForTrafficControl, SetMinVideoResolutionForTrafficControl



Version 3.2.0

Release date: 2023-02-01

Enhancements

1. Custom signaling configuration support extended to 4KB

Note: The default size of the custom signaling configuration is 1KB, if it needs to be extended to 4KB, please contact ZEGO technical support for processing.

Bug Fixes

1. Fixed the problem of crash when accessing null pointer when the hardware decoding fails and restarts.

2. Fixed the problem of crash when accessing non-existing API after starting the engine in iOS 14.

3. Fixed the problem that the network time module fails to retry.



Version 3.1.0

Release date: 2022-12-13

New Features

1. The functions of "audio and Video in the range of ten thousand people" and "real-time status synchronization of multiple people" support the use of scene templates

Note: If you need to use this function, please contact ZEGO technical support.

In the virtual scene, due to the different map size, audio and Video interactive gameplay and scale of each scene, it is necessary to customize the configuration for each scene. After version 3.1.0, "Audio and Video for 10,000 people" and "Real-time status synchronization for multiple people" support the SDK interface and use the template ID to specify the scene. The configuration item corresponding to the template ID can only be configured through the server API.

For related APIs, please refer to templateID

2. The functions of "audio and Video for 10,000 people" and "real-time status synchronization of multiple people" support the use of Token basic authentication

Note: If you need to use this function, please contact ZEGO technical support.

When the user logs in to the scene, he can bring the Token parameter to verify the legitimacy.

For related APIs, please refer to ZegoSceneParam > token, ZegoRangeScene > RenewToken

3. The SDK supports setting cloud proxy

Note: If you need to use this function, please contact ZEGO technical support.

By setting the cloud proxy interface of the SDK, all traffic corresponding to the SDK will be transferred through the proxy server in the cloud to realize communication with the RTC.

For related APIs, please refer to SetCloudProxyConfig



Version 3.0.3

Release date: 2022-11-29

New Features

1. Support Linux platform

Express Unity3D SDK now supports Linux x86_64 architecture. For development environment requirements, please refer to the Integration SDK document.

Bug Fixes

1. Fixed the problem that hardware decoding on iOS, macOS, and Windows platforms may crash.

2. Fixed the problem that in multi-room mode, when the publish streams is stopped, other people in the room will not receive the stream deletion notification.



Version 3.0.0

Release date: 2022.11.01

This version contains breaking changes, please refer to v3.0.0 Upgrade Guide for details.

New Features

1. Added callback based on the first frame of the Video after the Camera is turned on

After each time the remote Camera is turned on, the SDK play streams and renders the first frame of the remote Camera Video data to call back. Developers can use this callback to count the time-consuming of the first frame, or update the UI components of the playback stream.

For related APIs, please refer to OnPlayerRenderCameraVideoFirstFrame

2. Support to query the features of the current SDK

Since the SDK supports feature tailoring, some features may have been trimmed; you can use this function to quickly determine whether the current SDK supports the specified features.

For related APIs, please refer to IsFeatureSupported

3. Scenario with room dimension added

In order to facilitate quick access for developers and lower the threshold for developers to access, the SDK provides a variety of Preset scenarios. The developer can select the corresponding room mode ZegoScenario according to the required scene, and the SDK will automatically apply the audio and Encoding & Decoding, audio and Video parameters, flow control strategy and other configurations suitable for the scene, so as to quickly realize the The best effect in the scene.

Currently supported scenarios include Live Video Streaming, KTV, standard 1v1 audio and Video Calling, high-definition 1v1 audio and Video Calling, standard voice Voice Chatroom, and high-quality voice Voice Chatroom.

For related APIs, please refer to SetRoomScenario

4. Added debugging assistant function

Note: This function is only used in the development stage, please do not enable this function in the online version.

Added the EnableDebugAssistant interface. The developer calls this interface to enable the debugging assistant function. The SDK will print the log to the ZEGO Admin Console. When an exception occurs in the calls of other interfaces of the SDK, the UI will pop up an error message.

For related APIs, please refer to EnableDebugAssistant

Bug Fixes

1. Fix the small probability of crash when exiting the app;

Deleted

1. Deprecated three old scenarios of ZegoScenario

The three scenarios [General], [Communication], and [Live] in the ZegoScenario scenario enumeration are discarded.

2. Removed [SetDebugVerbose], [SetPlayStreamVideoLayer], [EnableAudioDataCallback] and other interfaces. For details, please refer to Version 3.0.0 Upgrade Guide.



Version 2.23.0

Release date: 2022.09.13

Bug fixes

1. Fixed the problem that the range voice function can still hear the voice of people in the original team outside the range after exiting the team



Version 2.21.2

Release date: 2022.08.02

New Features

1. Added the function of getting Texture2D for Video rendering

Note: In Unity, texture2D coordinates start from the lower left corner, and picture coordinates start from the upper left corner, so you can see that the Y-axis of the default rendering of Texture2D is flipped.

In the parent class IVideoSurface of ZegoExpressEngine, a new interface GetNativeTexture2D is added, which is used to copy a Texture2D of the currently rendered image by the SDK for external use.



Version 2.21.1

Release date: 2022.07.15

New Features

1. Stream Mixing support setting the Video border to rounded corners

When calling the Stream Mixing interface to mix streams, the developer can set the "cornerRadius" (the radius of the Video screen corner) through the "ZegoMixerInput" type parameter, and set the Video border to rounded corners. The unit of "cornerRadius" is px, and the value cannot exceed half of the shorter of the width and height of the Video screen.

For related APIs, please refer to StartMixerTask

2. Add the CDN Plus play streams configuration item to the play streams interface

Note: If you want to Controller the play streams mode from the cloud through more dimensions such as region and user, please contact ZEGO technical support for related configuration.

The play streams interface adds the play streams resource mode of CDN_PLUS (ZegoStreamResourceMode), and developers can enable and use CDN_PLUS to play streams according to the stream dimension. CDN Plus play streams is a cost-effective play streams method with higher quality than CDN play streams , but the price is close to CDN.

For related APIs, please refer to StartPlayingStream

Bug Fixes

1. Fixed DestroyEngine which may cause Unity Editor to crash.

2. Fixed the issue that triggering SDK callback during app exit may cause crash.



Version 2.20.3

Release date: 2022.07.01

New Features

1.Added audio data monitoring function

When you need audio data of remote users or use the data collected by the local microphone for other purposes (such as audio recording, third-party audio monitoring, real-time audio analysis), you can use the StartAudioDataObserver API to enable real-time audio data monitoring.

For related APIs, please refer to StartAudioDataObserver, StopAudioDataObserver, OnCapturedAudioData, OnPlayerAudioData, OnPlaybackAudioData, OnMixedAudioData



2.20.2 Version

Release date: 2022.06.20

Bug fixes

1. Fixed a problem of probabilistic stream-playing failure.

2. Optimized the problem that the audio device mode set before the SDK initialization does not take effect.



Version 2.20.0

Release date: 2022-06-13

New Features

1. Supports automatic censorship of audio and video at the stream level.

Note: To use this function, please contact ZEGO technical support to activate the background service.

When calling the StartPublishingStream API to start streaming, you can set the ZegoStreamCensorshipMode parameter to conduct automatic audio and video censorship at the stream level, and automatically identify sensitive content, thus reducing the integration difficulty and business maintenance costs.

For related API, please refer to StartPublishingStream

Enhancements

1. Optimized the interface calling logic for precise alignment of mixed streams

Call the StartPublishingStream interface and set the [forceSynchronousNetworkTime] in ZegoPublisherConfig as 1, the SDK will wait until the OnNetworkTimeSynchronized callback notifies the NTP network time synchronization is completed before publishing the stream, and then call the SetStreamAlignmentProperty interface to enable the precise alignment of mixed streams.

For related APIs, please refer to StartPublishingStream, SetStreamAlignmentProperty, OnNetworkTimeSynchronized

Bug Fixes

1. Fixed a few interface errors on 32-bit Android phones

The relevant APIs are as follows: LoadResourceFromMediaData, LoadResourceWithPosition, LoadCopyrightedMusicResourceWithPosition

Version 2.19.0

Release date: 2022-05-18

New Features

1. Support to return to log in room and log out of room results

The [loginRoom] interface adds the "callback" parameter, which supports returning the login room result from "callback".

The [logoutRoom] interface has added a "callback" parameter, which supports returning the result of exiting the room from "callback".

For related APIs, please refer to LoginRoom, LogoutRoom

2. Added room state change notification [onRoomStateChanged]

When the connection state of the room changes, the [onRoomStateChanged] callback will be triggered, and the "ZegoRoomStateChangedReason" parameter will provide more detailed connection state and the reason for the state change.

For related APIs, please refer to OnRoomStateChanged

3. Added the function of enabling human voice detection and the sound wave callback of the human voice part

When developers monitor the sound wave callback, they usually only pay attention to the vocal part. They can call the StartSoundLevelMonitor interface and pass in "ZegoSoundLevelConfig" to enable VAD vocal detection.

The SDK also adds a parameter for whether to include human voice detection in the local sound capture callback OnCapturedSoundLevelInfoUpdate and the remote Audio sound callback OnRemoteSoundLevelInfoUpdate].

For related APIs, please refer to StartSoundLevelMonitor, OnCapturedSoundLevelInfoUpdate, OnRemoteSoundLevelInfoUpdate

4. Support to obtain the upstream and downstream network quality of the local and remote ends

Added the callback for the uplink and downlink network quality of local and remote users OnNetworkQuality, the default is to call back the network status of local and remote users every two seconds (including unknown, excellent, good, medium) , poor, network disconnection). This function can be used when developers want to analyze the network conditions on the link, or want to know the network conditions of local and remote users.

For related APIs, please refer to OnNetworkQuality

5. Support setting the concern factors that trigger Flow Control

After enabling the Flow Control of the specified push channel through the EnableTrafficControl interface, you can use the SetTrafficControlFocusOn interface to Controller whether to enable Flow Control due to poor remote network conditions.

For related APIs, please refer to SetTrafficControlFocusOn

6. Direct publishing to CDN streams support play streams through L3

When Direct publishing to CDN , the SDK play streams from the customer's CDN source site, distributes the audio and Video content to the audience through L3, and Controller the source site resources through ZegoResourceType without changing the publish streams method. This function is often used in live broadcast scenarios.

For related APIs, please refer to StartPlayingStream

Bug Fixes

1. Fixed the problem that play streams from CDN failed



Version 2.18.0

Release date: 2022-04-19

New Features

1. Added Media Player function

The Media Player component provides the ability to play audio and video media files, and supports publish the audio and video data of the played media files.

For related APIs, please refer to CreateMediaPlayer, DestroyMediaPlayer

2. Added automatic Stream Mixing function

You can specify a room, and all the audio streams in the room will be mixed (currently only supports mixing audio streams), which is often used in voice chat scenarios.

You can call the StartAutoMixerTask to enable automatic stream mixing, and call the StopAutoMixerTask to disable automatic stream mixing.

For related APIs, please refer to StartAutoMixerTask, StopAutoMixerTask

3. Support to obtain synchronous network time information

Call the GetNetworkTimeInfo to get the current network time (NTP), including the timestamp and maximum error of the current network time. When performing multi-terminal behavior synchronization, it is necessary to obtain the synchronization network time to calibrate the current time.

For related APIs, please refer to GetNetworkTimeInfo

4. Supports precise alignment of Stream Mixing streams

Calling the SetStreamAlignmentProperty can enable or disable the precise Stream Mixing alignment function, which is often used in KTV and other scenarios that require Stream Mixing alignment.

For related APIs, please refer to SetStreamAlignmentProperty

Bug Fixes

1. Fixed the problem of abnormal log file collection during log reporting

2. Fixed the AEC issue on some Android phones



Version 2.17.1

Release date: 2022-03-30

Bug Fixes

1. Fixed the problem that the packaging format of the SDK library on the iOS platform is not compatible with Plugins, resulting in an error in exporting XCode projects

Changed the iOS platform SDK library format to Plugins compatible framework format.



Version 2.17.0

Release date: 2022-03-18

Enhancements

1. Optimized the authentication method

For versions 2.17.0 and above, pass the AppSign blank or not when creating the engine, and the Token must be passed in when logging in to the room. After the authentication is passed, the voice and video call functions can be used.

Versions prior to 2.17.0, pass in AppSign when creating the engine, and use the voice and video call function after the authentication is passed.

For related APIs, please refer to CreateEngine, LoginRoom

Bug Fixes

1. Fixed the crash when switching rooms in the In-game Voice Chat

Fixed a crash when calling the SwitchRoom interface after turning on the In-game Voice Chat.



Version 2.16.0

Release date: 2022-02-25

New Features

1. Added login room and user room publish streams authentication function

User permission Controller means that when the user logs in to the room, or performs push/ play streams operations in the room, the ZEGO server determines whether the user has the corresponding permission according to the Token parameter carried by the user when logging in, so as to avoid the lack of permission Controller or the Risks caused by improper operation. Currently, it only supports the verification of two permissions, namely, the user's login room and the user's room publish streams.

For related APIs, please refer to LoginRoom, RenewToken, onRoomTokenWillExpire

2. Support setting playback Video stream type

When the publisher sets the "codecID" to "SVC" through [SetVideoConfig] (it can be set before and after the play streams), the player can dynamically set and select different stream types (the small resolution is the half of the standard layer) one). When the network is weak or the rendered UI form is small, you can choose to use the Video with small resolution to save bandwidth.

For related APIs, please refer to SetPlayStreamVideoType

3. Added Reverb advanced parameters and Reverb/ Voice Changer Preset

Through the advanced Reverb parameters, you can adjust the finer Reverb effect according to your needs, and add studio, KTV, rock, concert and other effects to the original Preset Reverb, and add magnetic male and female to the Preset Voice Changer. The fresh female AudioEffect increase the real-time voice interest and can adapt to more scenes.

For related API, please refer to SetVoiceChangerParam, SetReverbPreset, SetVoiceChangerPreset SetVoiceChangerParam

4. Support setting Reverb Echo parameters

Users can set the Reverb Echo parameters according to their needs, allowing up to 7 echoes (delay) to be set, and support to individually set the delay, attenuation of each echo, and the overall input and output gain value. It can also be matched with Voice Changer and Reverb to achieve a variety of custom sound effects.

For related APIs, please refer to SetReverbEchoParam

5. Added spatial Audio capability

Spatial Audio is able to perceive the 360° position of sound in space. Developers can use the spatial Audio function to create a more realistic "seat" effect in the audio and Video room. Users can perceive the source direction of the sound through spatial Audio and restore the offline scene. It is suitable for scenarios such as Voice Chatroom, script killings and online meetings.

For related APIs, please refer to EnablePlayStreamVirtualStereo

6. Support omnidirectional Virtual Stereo

Added support for omnidirectional Virtual Stereo, which simulates stereoscopic sound through algorithm processing of monophonic sound. This function is often used in KTV scenes to make the singing sound more three-dimensional.

When the [EnableVirtualStereo] interface is called and the angle parameter is set to -1, it means the stereo effect is omnidirectional stereo.

For related APIs, please refer to EnableVirtualStereo

7. Set the weight of the play streams priority

When developers need to prioritize the quality of a stream, they can use the [SetPlayStreamFocusOn] interface. For example, in a class scenario, where students pull multiple streams, you can set a high priority for teacher streams.

For related APIs, please refer to SetPlayStreamFocusOn

8. Support to get the current Audio route

Audio routing refers to the Audio output device used by the App when playing Audio . Common Audio routing includes: speakers, earpieces, headphones, Bluetooth devices, etc. Developers can call the [GetAudioRouteType] interface to get the current Audio route.

For related APIs, please refer to GetAudioRouteType

9. Added support for setting Voice Changer effect Audio Effect Player

By changing the user's pitch, the output sound is sensory different from the original sound, and various effects such as male voice changing to female voice can be realized.

For related API, please refer to SetVoiceChangerParam

10. Support callback of remote speaker device status

After successfully Co-hosting with the remote user, when the state of the remote speaker device changes, such as turning the speaker on/off, it can be monitored through the [OnRemoteSpeakerStateUpdate] callback.

For related APIs, please refer to OnRemoteSpeakerStateUpdate

11. Added Audio device routing change notification callback [OnLocalDeviceExceptionOccurred]

This callback is thrown when there is a change in Audio routing such as headphone plugging and unplugging, speaker and earpiece switching, etc.

For related APIs, please refer to OnAudioRouteChange

12. Added local device exception callback [OnLocalDeviceExceptionOccurred]

Through the [OnLocalDeviceExceptionOccurred] callback, you can set the device type to be detected, such as Camera, speaker, Microphone, etc., and the developer can handle the error callback according to different device types.

For related APIs, please refer to OnLocalDeviceExceptionOccurred

13. Support setting Audio routing to speakers

Through [SetAudioRouteToSpeaker], you can set the Audio route to the speaker. When you choose not to use the built-in speaker to play the sound, that is, when it is set to "false", the SDK will select the current Audio output device with the highest priority to play the sound according to the system scheduling.

For related APIs, please refer to SetAudioRouteToSpeaker

14. Support setting the play streams cache interval value

This function is used to specify the interval range for the adaptive adjustment of the playback cache, and the developer can set it according to the scene.

For related APIs, please refer to SetPlayStreamBufferIntervalRange

15. The play streams end provides the function of closing all Audio or Video

This function can be used when the Audio or Video streams of all remote users need to be closed at one time when play streams .

For related APIs, please refer to MuteAllPlayStreamAudio, MuteAllPlayStreamVideo

16. Added the function of taking Snapshot of publish streams or play streams

It supports taking Snapshot of the screen during the push-pull streaming process, which can be used for scenes such as yellow identification.

For related APIs, please refer to TakePublishStreamSnapshot, OnPublisherTakeSnapshotResult, TakePlayStreamSnapshot, OnPlayerTakeSnapshotResult

17. Added local Preview first frame rendering callback

After the first frame of Video data is rendered, the [OnPublisherRenderVideoFirstFrame] callback will be received.

For related API, please refer to OnPublisherRenderVideoFirstFrame

18. Supports setting the volume of all play streams sounds

The local user can Controller the playback Volume of all Audio streams through the [SetAllPlayStreamVolume] interface.

For related APIs, please refer to SetAllPlayStreamVolume

19. Support to obtain detailed information of ZEGO SDK method execution result through the [OnApiCalledResult] delegate function

For related APIs, please refer to OnApiCalledResult

Deleted

The old Beautify function is relatively simple and does not meet the developer's expectations, so the [EnableBeautify] and [SetBeautifyOption] interfaces are deprecated in version 2.16.0 and above.

For related APIs, please refer to EnableBeautify, SetBeautifyOption

2. Deprecated [SetBuiltInSpeakerOn] interface

Due to the naming convention, the [SetBuiltInSpeakerOn] interface is deprecated in version 2.16.0 and above, please use [SetAudioRouteToSpeaker] to implement the original function.

For related APIs, please refer to SetAudioRouteToSpeaker, SetAudioRouteToSpeaker

3. Discard [OnDeviceError] callback

In order to let developers intuitively understand the type of abnormal device and the specific abnormal situation, the [OnDeviceError] callback is deprecated in version 2.16.0 and above, please use the [OnLocalDeviceExceptionOccurred] callback instead.

For related APIs, please refer to OnDeviceError, OnLocalDeviceExceptionOccurred



Version 2.15.3

Release date: 2022-02-18

New Features

1. In-game Voice Chat supports setting the stealth squad mode

[ZegoRangeAudioMode] Enumerates a new secret team SecretTeam. Local users can set the secret team mode through the [SetRangeAudioMode] interface after initializing the In-game Voice Chat[CreateRangeAudio] according to their needs. In this squad mode, squad members can receive the voice of the world mode user.

For related APIs, please refer to CreateRangeAudio, SetRangeAudioMode



Version 2.15.2

Release Date: 2022-01-05

New Features

1. Add experimental API

Newly added [CallExperimentalAPI] interface, ZEGO provides some technical Preview or special customized functions in RTC business through this API, you need to obtain the use of the function or the details, please consult ZEGO technical support. Added [onRecvExperimentalAPI] callback delegate for receiving experimental API JSON content.

For related APIs, please refer to CallExperimentalAPI, onRecvExperimentalAPI

Version 2.15.1

Release Date: 2021-12-24

New Features

1. In-game Voice Chat support setting whether to receive Audio data from specified users

[MuteUser] interface is added to the In-game Voice Chat module. Local users can set whether to receive the Audio data of the specified remote user through the [MuteUser] interface after initializing the In-game Voice Chat [CreateRangeAudio] according to their needs. When not receiving, the hardware and network overhead can be reduced.

This function can be used when developers need to quickly close or restore remote Audio.

For related API, please refer to MuteUser

Bug Fixes

1. Fixed the problem of failure to set the advanced configuration of the engine

Fixed the problem that the "advancedConfig" configuration in the [SetEngineConfig] interface did not take effect.



Version 2.15.0

Release Date: 2021-12-17

New Features

1. Support In-game Voice Chat function

Added a new In-game Voice Chat function module, which can provide functions such as range voice, 3D AudioEffect, and team voice. It is suitable for eating chicken games and meta-universe scenes.

Range of voice: The listener in the room has a range limit on the Audio receiving distance. If the distance between the speaker and himself exceeds this range, he cannot hear the sound. To ensure a clear voice, when there are more than 20 people nearby, you can only hear the 20 speakers closest to you.

3D AudioEffect: The sound has a sense of 3D space and is attenuated by distance.

Squad Voice: Players can choose to join a squad, and support free switching between "World" mode and "Squad only" mode in the room.

For related APIs, please refer to CreateRangeAudio, DestroyRangeAudio, SetAudioReceiveRange, UpdateSelfPosition, UpdateAudioSource, EnableSpatializer, EnableMicrophone, EnableSpeaker, SetRangeAudioMode, SetTeamID

Enhancements

1. Support setting the Audio configuration of a specific channel

The [SetAudioConfig] interface has been optimized, and the optional parameter "ZegoPublishChannel" has been added to specify the channel number for Audio configuration.

For related API, please refer to SetAudioConfig

2. play streams quality callback to increase Audio quality parameters

[onPlayerQualityUpdate] The mos parameter is added to the callback to indicate the current Audio quality.

For related API, please refer to onPlayerQualityUpdate

Bug Fixes

1. Fixed the problem that some interface strings were copied incorrectly



Version 1.2.0

Release Date: 2021-11-29

Bug Fixes

  1. Synchronize the SDK interface definition of the latest Native layer, fix the problem of Stream Mixing parameter error.
Page Directory