Differences Between Video Call SDK and Voice Call SDK
Starting from version v2.20.0, there are no longer API differences between Video Call and Voice Call. You can switch from Video Call SDK to Voice Call SDK at any time, and vice versa.
Voice Call does not support running in WebGL environment.
There are only functional differences between Voice Call SDK and Video Call SDK: For Voice Call SDK, some video-related APIs (e.g., video encoding parameter settings, ZegoCanvas parameters for preview and playing stream, etc.) will have no effect after being set, but will not cause errors.
The involved APIs are as follows:
- StartPreview
- Effect in Video Call SDK: Starts the microphone and camera, and if RawImageVideoSurface or RendererVideoSurface rendering components are set, the SDK will render the preview view in the components.
- Effect in Voice Call SDK: Starts the microphone. Developers do not need to set RawImageVideoSurface or RendererVideoSurface rendering components when calling this API.
When calling StartPreview in the Voice Call Flutter / Electron / uni-app / Unity3D / React-Native SDK, the camera will still be started; developers can call enableCamera before calling StartPreview to disable the camera to avoid the SDK requesting camera permissions.
- StartPlayingStream
- Effect in Video Call SDK: Starts playing stream, plays the audio of the played stream, and if RawImageVideoSurface or RendererVideoSurface rendering components are set, the SDK will render the preview view in the components.
- Effect in Voice Call SDK: Starts playing stream, plays the audio of the played stream. Developers do not need to set RawImageVideoSurface or RendererVideoSurface rendering components when calling this API.
All other video-related APIs have no effect in Voice Call SDK. You can determine whether an API is video-related by the comment provided in the API: Note: This function is only available in ZegoExpressVideo SDK!. If this comment exists, it means the API is video-related.
