Agora C++ API Reference for All Platforms

Public Member Functions | List of all members
agora::rtc::IRemoteAudioTrack Class Referenceabstract

Inherits agora::rtc::IAudioTrack.

Inherited by agora::rtc::IRemoteAudioTrackEx.

## Public Member Functions
virtual bool | getStatistics (RemoteAudioTrackStats &stats)=0
virtual REMOTE_AUDIO_STATE | getState ()=0
virtual int | registerMediaPacketReceiver (IMediaPacketReceiver *packetReceiver, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterMediaPacketReceiver (IMediaPacketReceiver *packetReceiver)=0
virtual int | registerAudioEncodedFrameReceiver (IAudioEncodedFrameReceiver *packetReceiver, const AudioEncFrameRecvParams &recvParams, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | unregisterAudioEncodedFrameReceiver (IAudioEncodedFrameReceiver *packetReceiver)=0
virtual int | setRemoteVoicePosition (float pan, float gain, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | adjustDecodedAudioVolume (int decoded_index, int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | muteRemoteFromTimestamp (uint32_t timestamp)=0
virtual int | unmuteRemoteFromTimestamp (uint32_t timestamp)=0
virtual int | adjustAudioAcceleration (int percentage, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | adjustAudioDeceleration (int percentage, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | enableAudioBurstAccelerate (bool enable, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | enableSpatialAudio (bool enabled, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | setRemoteUserSpatialAudioParams (const agora::SpatialAudioParams &params, aosl_ref_t ares=AOSL_REF_INVALID)=0
Public Member Functions inherited from agora::rtc::IAudioTrack
virtual int | adjustPlayoutVolume (int volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | getPlayoutVolume (int *volume)=0
virtual bool | addAudioFilter (agora_refptr< IAudioFilter > filter, AudioFilterPosition position, ExtensionContext *extContext=NULL, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual bool | removeAudioFilter (agora_refptr< IAudioFilter > filter, AudioFilterPosition position, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int | enableAudioFilter (const char *id, bool enable, AudioFilterPosition position, aosl_ref_t ares=AOSL_REF_INVALID)
virtual int | setFilterProperty (const char *id, const char *key, const char *jsonValue, AudioFilterPosition position, aosl_ref_t ares=AOSL_REF_INVALID)
virtual int | getFilterProperty (const char *id, const char *key, char *jsonValue, size_t bufSize, AudioFilterPosition position)
virtual agora_refptr< IAudioFilter > | getAudioFilter (const char *name, AudioFilterPosition position) const =0
virtual bool | addAudioSink (agora_refptr< IAudioSinkBase > sink, const AudioSinkWants &wants, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual bool | removeAudioSink (agora_refptr< IAudioSinkBase > sink, aosl_ref_t ares=AOSL_REF_INVALID)=0
Public Member Functions inherited from agora::RefCountInterface
virtual void | AddRef () const =0
virtual RefCountReleaseStatus | Release () const =0
virtual bool | HasOneRef () const =0

## Additional Inherited Members
Public Types inherited from agora::rtc::IAudioTrack
enum | AudioFilterPosition { RecordingLocalPlayback, PostAudioProcessing, RemoteUserPlayback, PcmSource, PcmSourceSending, PcmSourceLocalPlayback, RemoteMixedPlayback }
Protected Member Functions inherited from agora::RefCountInterface
virtual | ~RefCountInterface ()

## Detailed Description

The IRemoteAudioTrack class.

## Member Function Documentation

## ◆ getStatistics()

virtual bool agora::rtc::IRemoteAudioTrack::getStatistics | ( | RemoteAudioTrackStats & | stats | ) |
| pure virtual

Gets the statistics of the remote audio track.

Parameters

  stats | A reference to the statistics of the remote audio track: RemoteAudioTrackStats.

Returns
  - `true`: Success.
  - `false`: Failure.

## ◆ getState()

virtual REMOTE_AUDIO_STATE agora::rtc::IRemoteAudioTrack::getState | ( |  | ) |
| pure virtual

Gets the state of the remote audio.

Returns
  The state of the remote audio: REMOTE_AUDIO_STATE.

## ◆ registerMediaPacketReceiver()

virtual int agora::rtc::IRemoteAudioTrack::registerMediaPacketReceiver | ( | IMediaPacketReceiver * | packetReceiver,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

Registers an `IMediaPacketReceiver` object.

You need to implement the `IMediaPacketReceiver` class in this method. Once you successfully register the media packet receiver, the SDK triggers the `onMediaPacketReceived` callback when it receives an audio packet.

Parameters

  packetReceiver | The pointer to the `IMediaPacketReceiver` object.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ unregisterMediaPacketReceiver()

virtual int agora::rtc::IRemoteAudioTrack::unregisterMediaPacketReceiver | ( | IMediaPacketReceiver * | packetReceiver | ) |
| pure virtual

Releases the `IMediaPacketReceiver` object.

Parameters

  packetReceiver | The pointer to the `IMediaPacketReceiver` object.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ registerAudioEncodedFrameReceiver()

virtual int agora::rtc::IRemoteAudioTrack::registerAudioEncodedFrameReceiver | ( | IAudioEncodedFrameReceiver * | packetReceiver,
|  | const AudioEncFrameRecvParams & | recvParams,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

Registers an `IAudioEncodedFrameReceiver` object.

You need to implement the `IAudioEncodedFrameReceiver` class in this method. Once you successfully register the media packet receiver, the SDK triggers the `onEncodedAudioFrameReceived` callback when it receives an audio packet.

Parameters

  packetReceiver | The pointer to the `IAudioEncodedFrameReceiver` object.
  recvParams | The parameter

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ unregisterAudioEncodedFrameReceiver()

virtual int agora::rtc::IRemoteAudioTrack::unregisterAudioEncodedFrameReceiver | ( | IAudioEncodedFrameReceiver * | packetReceiver | ) |
| pure virtual

Releases the `IAudioEncodedFrameReceiver` object.

Parameters

  packetReceiver | The pointer to the `IAudioEncodedFrameReceiver` object.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ setRemoteVoicePosition()

virtual int agora::rtc::IRemoteAudioTrack::setRemoteVoicePosition | ( | float | pan,
|  | float | gain,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

Sets the sound position and gain

Parameters

  pan | The sound position of the remote user. The value ranges from -1.0 to 1.0: 0.0: the remote sound comes from the front. -1.0: the remote sound comes from the left. 1.0: the remote sound comes from the right.
  gain | Gain of the remote user. The value ranges from 0.0 to 100.0. The default value is 100.0 (the original gain of the remote user). The smaller the value, the less the gain.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ adjustDecodedAudioVolume()

virtual int agora::rtc::IRemoteAudioTrack::adjustDecodedAudioVolume | ( | int | decoded_index,
|  | int | volume,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

Sets the volume of each audio decoded channel

Parameters

  decoded_index | The channel index of the remote user. The value ranges from 0 to 100:
  volume | The channel index of the remote user. The value ranges from 0 to 100. 0: mute the channel. 100: keep the origin volume of the channel.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ muteRemoteFromTimestamp()

virtual int agora::rtc::IRemoteAudioTrack::muteRemoteFromTimestamp | ( | uint32_t | timestamp | ) |
| pure virtual

mute remote stream from timestamp

Note
  - unmuteRemoteFromTimestamp should be called after muteRemoteFromTimestamp, othewise this stream will be muted all time

Parameters

  timestamp | The rtp timestamp of start mute

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ unmuteRemoteFromTimestamp()

virtual int agora::rtc::IRemoteAudioTrack::unmuteRemoteFromTimestamp | ( | uint32_t | timestamp | ) |
| pure virtual

unmute remote stream from timestamp

Note
  - unmuteRemoteFromTimestamp should be called after muteRemoteFromTimestamp, othewise this stream will be muted all time

Parameters

  timestamp | The rtp timestamp of start unmute

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ adjustAudioAcceleration()

virtual int agora::rtc::IRemoteAudioTrack::adjustAudioAcceleration | ( | int | percentage,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

set percentage of audio acceleration during poor network

Note
  - The relationship between this percentage and the degree of audio acceleration is non-linear and varies with different audio material.

Parameters

  percentage | The percentage of audio acceleration. The value ranges from 0 to 100. The higher the percentage, the faster the acceleration. The default value is 100 (no change to the acceleration): 0: disable audio acceleration. > 0: enable audio acceleration.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ adjustAudioDeceleration()

virtual int agora::rtc::IRemoteAudioTrack::adjustAudioDeceleration | ( | int | percentage,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

set percentage of audio deceleration during poor network

Note
  - The relationship between this percentage and the degree of audio deceleration is non-linear and varies with different audio material.

Parameters

  percentage | The percentage of audio deceleration. The value ranges from 0 to 100. The higher the percentage, the faster the deceleration. The default value is 100 (no change to the deceleration): 0: disable audio deceleration. > 0: enable audio deceleration.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ enableAudioBurstAccelerate()

virtual int agora::rtc::IRemoteAudioTrack::enableAudioBurstAccelerate | ( | bool | enable,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

enable audio fast acceleration during audio packets burst arrival.

Parameters

  enable | Whether to enable audio burst acceleration.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ enableSpatialAudio()

virtual int agora::rtc::IRemoteAudioTrack::enableSpatialAudio | ( | bool | enabled,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

enable spatial audio

Parameters

  enabled | enable/disable spatial audio: true: enable spatial audio. false: disable spatial audio.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ setRemoteUserSpatialAudioParams()

virtual int agora::rtc::IRemoteAudioTrack::setRemoteUserSpatialAudioParams | ( | const agora::SpatialAudioParams & | params,
|  | aosl_ref_t | ares = `AOSL_REF_INVALID`
| ) |  |
| pure virtual

Sets remote user parameters for spatial audio

Parameters

  params | spatial audio parameters

Returns
  - 0: Success.
  - < 0: Failure.