Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
agora::rtc::IRemoteAudioTrack Class Referenceabstract

#include <NGIAgoraAudioTrack.h>

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 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
 
virtual AudioTrackType getType () OPTIONAL_OVERRIDE
 
- 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< IAudioFiltergetAudioFilter (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
statsA 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
packetReceiverThe 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
packetReceiverThe 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
packetReceiverThe pointer to the IAudioEncodedFrameReceiver object.
recvParamsThe parameter
Returns
  • 0: Success.
  • < 0: Failure.

◆ unregisterAudioEncodedFrameReceiver()

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

Releases the IAudioEncodedFrameReceiver object.

Parameters
packetReceiverThe 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
panThe 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.
gainGain 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_indexThe channel index of the remote user. The value ranges from 0 to 100:
volumeThe 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
timestampThe 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
timestampThe 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
percentageThe 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
percentageThe 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.

◆ enableSpatialAudio()

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

enable spatial audio

Parameters
enabledenable/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
paramsspatial audio parameters
Returns
  • 0: Success.
  • < 0: Failure.

◆ getType()

virtual AudioTrackType agora::rtc::IRemoteAudioTrack::getType ( )
inlinevirtual

Get the track type of the audio track

Returns

Implements agora::rtc::IAudioTrack.