Agora RTC Objective-C API Reference  Refactor
Data Structures | Public Types | Public Member Functions
ILocalAudioTrack Class Referenceabstract

Inherits IAudioTrack.

Data Structures

struct  LocalAudioTrackStats
 

Public Types

enum  AudioFilterPosition {
  RecordingLocalPlayback, PostAudioProcessing, RemoteUserPlayback, PcmSource,
  PcmSourceSending, PcmSourceLocalPlayback, RemoteMixedPlayback
}
 

Public Member Functions

virtual void setEnabled (bool enable)=0
 
virtual bool isEnabled () const =0
 
virtual LOCAL_AUDIO_STREAM_STATE getState ()=0
 
virtual LocalAudioTrackStats GetStats ()=0
 
virtual int adjustPublishVolume (int volume)=0
 
virtual int getPublishVolume (int *volume)=0
 
virtual int enableLocalPlayback (bool enable, bool sync=false)=0
 
virtual int enableEarMonitor (bool enable, int includeAudioFilters)=0
 
virtual int registerTrackObserver (ILocalAudioTrackObserver *observer)=0
 
virtual int unregisterTrackObserver (ILocalAudioTrackObserver *observer)=0
 
virtual int adjustPlayoutVolume (int volume)=0
 
virtual int getPlayoutVolume (int *volume)=0
 
virtual bool addAudioFilter (agora_refptr< IAudioFilter > filter, AudioFilterPosition position)=0
 
virtual bool removeAudioFilter (agora_refptr< IAudioFilter > filter, AudioFilterPosition position)=0
 
virtual int enableAudioFilter (const char *id, bool enable, AudioFilterPosition position)
 
virtual int setFilterProperty (const char *id, const char *key, const char *jsonValue, AudioFilterPosition position)
 
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)=0
 
virtual bool removeAudioSink (agora_refptr< IAudioSinkBase > sink)=0
 

Detailed Description

ILocalAudioTrack is the basic class for local audio tracks, providing main methods of local audio tracks.

You can create a local audio track by calling one of the following methods:

After creating local audio tracks, you can publish one or more local audio tracks by calling publishAudio.

Member Enumeration Documentation

◆ AudioFilterPosition

enum AudioFilterPosition
inherited

The position of the audio filter in audio frame.

Enumerator
RecordingLocalPlayback 

Work on the local playback

PostAudioProcessing 

Work on the post audio processing.

RemoteUserPlayback 

Work on the remote audio before mixing.

PcmSource 

Work on the pcm source.

PcmSourceSending 

Work on the sending branch of the pcm source.

PcmSourceLocalPlayback 

Work on the local playback branch of the pcm source.

RemoteMixedPlayback 

Work on the playback after remote-audio mix.

Constructor & Destructor Documentation

◆ ~ILocalAudioTrack()

~ILocalAudioTrack ( )
inlineprotected

Member Function Documentation

◆ setEnabled()

virtual void setEnabled ( bool  enable)
pure virtual

Enables or disables the local audio track.

Once the local audio is enabled, the SDK allows for local audio capturing, processing, and encoding.

Parameters
enableWhether to enable the audio track:
  • true: Enable the local audio track.
  • false: Disable the local audio track.

◆ isEnabled()

virtual bool isEnabled ( ) const
pure virtual

Gets whether the local audio track is enabled.

Returns
Whether the local audio track is enabled:
  • true: The local track is enabled.
  • false: The local track is disabled.

◆ getState()

virtual LOCAL_AUDIO_STREAM_STATE getState ( )
pure virtual

Gets the state of the local audio.

Returns
The state of the local audio: LOCAL_AUDIO_STREAM_STATE: Success.

◆ GetStats()

virtual LocalAudioTrackStats GetStats ( )
pure virtual

Gets the statistics of the local audio track: LocalAudioTrackStats.

Returns
The statistics of the local audio: LocalAudioTrackStats: Success.

◆ adjustPublishVolume()

virtual int adjustPublishVolume ( int  volume)
pure virtual

Adjusts the audio volume for publishing.

Parameters
volumeThe volume for publishing. The value ranges between 0 and 100 (default).
Returns
  • 0: Success.
  • < 0: Failure.

◆ getPublishVolume()

virtual int getPublishVolume ( int *  volume)
pure virtual

Gets the current volume for publishing.

Parameters
volumeA pointer to the publishing volume.
Returns
  • 0: Success.
  • < 0: Failure.

◆ enableLocalPlayback()

virtual int enableLocalPlayback ( bool  enable,
bool  sync = false 
)
pure virtual

Enables or disables local playback.

Parameters
enableWhether to enable local playback:
  • true: Enable local playback.
  • false: Disable local playback.
syncWhether to destroy local playback synchronously:
  • true: Destroy local playback synchronously.
  • false: Destroy local playback asynchronously.
Returns
  • 0: Success.
  • < 0: Failure.

◆ enableEarMonitor()

virtual int enableEarMonitor ( bool  enable,
int  includeAudioFilters 
)
pure virtual

Enables in-ear monitoring (for Android and iOS only).

Parameters
enabledDetermines whether to enable in-ear monitoring.
  • true: Enable.
  • false: (Default) Disable.
includeAudioFiltersThe type of the ear monitoring: EAR_MONITORING_FILTER_TYPE
Returns
  • 0: Success.
  • < 0: Failure.

◆ registerTrackObserver()

virtual int registerTrackObserver ( ILocalAudioTrackObserver observer)
pure virtual

Register an local audio track observer

Parameters
observerA pointer to the local audio track observer: ILocalAudioTrackObserver.
Returns
  • 0: Success.
  • < 0: Failure.

◆ unregisterTrackObserver()

virtual int unregisterTrackObserver ( ILocalAudioTrackObserver observer)
pure virtual

Releases the local audio track observer

Parameters
observerA pointer to the local audio track observer: ILocalAudioTrackObserver.
Returns
  • 0: Success.
  • < 0: Failure.

◆ adjustPlayoutVolume()

virtual int adjustPlayoutVolume ( int  volume)
pure virtualinherited

Adjusts the playback volume.

Parameters
volumeThe playback volume. The value ranges between 0 and 100 (default).
Returns
  • 0: Success.
  • < 0: Failure.

◆ getPlayoutVolume()

virtual int getPlayoutVolume ( int *  volume)
pure virtualinherited

Gets the current playback volume.

Parameters
volumeA pointer to the playback volume.
Returns
  • 0: Success.
  • < 0: Failure.

◆ addAudioFilter()

virtual bool addAudioFilter ( agora_refptr< IAudioFilter filter,
AudioFilterPosition  position 
)
pure virtualinherited

Adds an audio filter.

By adding an audio filter, you can apply various audio effects to the audio, for example, voice change.

Parameters
filterA pointer to the audio filter. See IAudioFilter.
positionThe position of the audio filter. See AudioFilterPosition.
Returns
  • true: Success.
  • false: Failure.

◆ removeAudioFilter()

virtual bool removeAudioFilter ( agora_refptr< IAudioFilter filter,
AudioFilterPosition  position 
)
pure virtualinherited

Removes the audio filter added by callling addAudioFilter.

Parameters
filterThe pointer to the audio filter that you want to remove. See IAudioFilter.
positionThe position of the audio filter. See AudioFilterPosition.
Returns
  • true: Success.
  • false: Failure.

◆ enableAudioFilter()

virtual int enableAudioFilter ( const char *  id,
bool  enable,
AudioFilterPosition  position 
)
inlinevirtualinherited

Enable / Disable specified audio filter

Parameters
idid of the filter
enableenable / disable the filter with given id
positionThe position of the audio filter. See AudioFilterPosition.
Returns
  • 0: success
  • <0: failure

◆ setFilterProperty()

virtual int setFilterProperty ( const char *  id,
const char *  key,
const char *  jsonValue,
AudioFilterPosition  position 
)
inlinevirtualinherited

set the properties of the specified audio filter

Parameters
idid of the filter
keykey of the property
jsonValuejson str value of the property
positionThe position of the audio filter. See AudioFilterPosition.
Returns
  • 0: success
  • <0: failure

◆ getFilterProperty()

virtual int getFilterProperty ( const char *  id,
const char *  key,
char *  jsonValue,
size_t  bufSize,
AudioFilterPosition  position 
)
inlinevirtualinherited

get the properties of the specified video filter

Parameters
idid of the filter
keykey of the property
jsonValuejson str value of the property
bufSizemax length of the json value buffer
positionThe position of the audio filter. See AudioFilterPosition.
Returns
  • 0: success
  • <0: failure

◆ getAudioFilter()

virtual agora_refptr<IAudioFilter> getAudioFilter ( const char *  name,
AudioFilterPosition  position 
) const
pure virtualinherited

Gets the audio filter by its name.

Parameters
nameThe name of the audio filter.
positionThe position of the audio filter. See AudioFilterPosition.
Returns
  • The pointer to the audio filter: Success.
  • A null pointer: Failure.

◆ addAudioSink()

virtual bool addAudioSink ( agora_refptr< IAudioSinkBase sink,
const AudioSinkWants wants 
)
pure virtualinherited

Adds an audio sink to get PCM data from the audio track.

Parameters
sinkThe pointer to the audio sink. See IAudioSinkBase.
wantsThe properties an audio frame should have when it is delivered to the sink. See AudioSinkWants.
Returns
  • true: Success.
  • false: Failure.

◆ removeAudioSink()

virtual bool removeAudioSink ( agora_refptr< IAudioSinkBase sink)
pure virtualinherited

Removes an audio sink.

Parameters
sinkThe pointer to the audio sink to be removed. See IAudioSinkBase.
Returns
  • true: Success.
  • false: Failure.

◆ AddRef()

virtual void AddRef ( ) const
pure virtualinherited

◆ Release()

virtual RefCountReleaseStatus Release ( ) const
pure virtualinherited

◆ HasOneRef()

virtual bool HasOneRef ( ) const
pure virtualinherited