The Voice SDK supports the following scenarios:

  • Voice communication
  • Live voice broadcast

For the key features included in each scenario, see Voice Overview and Audio Broadcast Overview.


v2.8.0 is released on Jul. 8, 2019.

New features

1. Supporting string usernames

Many apps use string usernames. This release adds the following methods to enable apps to join an Agora channel directly with string usernames as user accounts:

For other methods, Agora uses the integer uid parameter. The Agora Engine maintains a mapping table that contains the user ID and string user account, and you can get the corresponding user account or ID by calling the getUserInfoByUid or getUserInfoByUserAccount method.

To ensure smooth communication, use the same parameter type to identify all users within a channel, that is, all users should use either the integer user ID or the string user account to join a channel. For details, see Use String User Accounts.


  • Do not mix parameter types within the same channel. The following Agora SDKs support string user accounts:

    • The Native SDK: v2.8.0 and later.
    • The Web SDK: v2.5.0 and later.

    If you use SDKs that do not support string user accounts, only integer user IDs can be used in the channel.

  • If you change your usernames into string user accounts, ensure that all app clients are upgraded to the latest version.

  • If you use string user accounts, ensure that the token generation script on your server is updated to the latest version. If you join the channel with a user account, ensure that you use the same user account or its corresponding integer user ID to generate a token. Call the getUserInfoByUserAccount method to get the user ID that corresponds to the user account.

2. Adding remote statistics

To monitor the audio transmission quality during a call or live broadcast, this release adds the totalFrozenTime and frozenRate members in the AgoraRtcRemoteAudioStats class, to report the audio freeze time and freeze rate of the remote user.

This release also adds the numChannels, receivedSampleRate, and receivedBitrate members in the AgoraRtcRemoteAudioStats class.


This release adds a AgoraConnectionChangedKeepAliveTimeout(14) member to the AgoraConnectionChangedReason parameter of the connectionChangedToState callback. This member indicates a connection state change caused by the timeout of the connection keep-alive between the SDK and Agora's edge server.

Issues Fixed

  • Occasional crashes.

API Changes

To improve your experience, we made the following changes to the APIs:




V2.4.1 is released on Jun 12th, 2019.

This is the first release of the Agora Voice SDK for macOS. Refer to the following guides to quickly integrate the SDK and enable real-time voice communication in your project.

If you migrate to this SDK from the macOS Video SDK, refer to the Release notes for the macOS video SDK for audio improvements.