Class AudioAnalyzerExtractor
Defined in File AudioAnalyzerExtractor.h
Inheritance Relationships
Base Type
public AudioAnalyzerSource(Class AudioAnalyzerSource)
Class Documentation
- 
class AudioAnalyzerExtractor : public AudioAnalyzerSource
 Audio Analyzer Extractor.
This class will be used to load audio from a disk file and do offline analysis
Public Functions
- 
AudioAnalyzerExtractor()
 Constructor
- 
~AudioAnalyzerExtractor()
 Destructor This will unload the loaded audio too
- 
AudioAnalyzerExtractor(AudioAnalyzerExtractor const &x) = delete
 Disable copy constructor
- Parameters:
 x – —
- 
void operator=(AudioAnalyzerExtractor const &x) = delete
 Disable copy assignment
- Parameters:
 x – —
- 
bool initializeAudio(const FString &filePath, bool onlyHeader)
 Decodes the PCM audio data and opens the audio extractor device
- Parameters:
 filePath – Path to the audio file
onlyHeader – Load only header info, audio data will not be uncompressed
- Returns:
 Audio initilization execution result
- 
bool asyncInitializeAudio(const FString &filePath, bool onlyHeader)
 Decodes the PCM audio data and opens the audio extractor device
- Parameters:
 filePath – Path to the audio file
onlyHeader – Load only header info, audio data will not be uncompressed
- Returns:
 Audio initilization scheduled
- 
bool initializeSoundWave(UAudioAnalyzerSoundWave *soundWave, const FString &filePath)
 Decodes the PCM audio data and constructs a sound wave object
- Parameters:
 soundWave – [out] SoundWave pointer
filePath – Path to the audio file
- Returns:
 SoundWave initialization result
- 
bool asyncInitializeSoundWave(UAudioAnalyzerSoundWave *soundWave, const FString &filePath)
 Decodes the PCM audio data and constructs a sound wave object
- Parameters:
 soundWave – [out] SoundWave pointer
filePath – Path to the audio file
- Returns:
 SoundWave initilization scheduled
- 
void unloadAudio()
 Closes audio player device
- 
virtual float getPlaybackProgress(float &bufferPosTime)
 Returns the playback progress and buffer postion time
- Parameters:
 bufferPosTime – [out] Buffer position (same as below value)
- Returns:
 float Progress in seconds
- 
float getTotalDuration() const
 Returns the total audio duration
- Returns:
 Duration in seconds
- 
void setEnableMetadataLoad(bool enableMetadataLoad)
 Enables or disables metadata load
- Parameters:
 enableMetadataLoad – Enable metadata load
- 
void getMetadata(FString &Filename, FString &Extension, FString &MetaType, FString &Title, FString &Artist, FString &Album, FString &Year, FString &Genre)
 Get file metadata
- Parameters:
 Filename – [out] Filename of the audio file
Extension – [out] Extension of the audio file
MetaType – [out] ID3_V1 | ID3_V2.3 | ID3_V2.4
Title – [out] Title of the song
Artist – [out] Artist
Album – [out] Album
Year – [out] Year
Genre – [out] Genre
- 
void getMetadataArt(const FString &Prefix, const FString &Folder, int32 &NumberOfPictures)
 Extract the AlbumArt pictures into the selected folder. Prefix1.png, Prefix2.png,…
- Parameters:
 Prefix – Prefix used to name the pictures.
Folder – Destination folder
NumberOfPictures – [out] Number of stored pictures
- 
inline const AudioAnalyzerDecoder::AudioFileType getAudioFileFormat() const
 Get audio format
- Returns:
 
- 
virtual bool hasOnlyHeader() const
 Returns if only has been loaded the header data
- Returns:
 Has onkly header data
- 
inline virtual bool needsBufferOffset() const
 Returns if the buffer needs to be offset
- Returns:
 Needs buffer offset
- 
void registerOnInitAudioEnd(std::function<void(bool)> callback)
 Registers the called function when the init audio ends
- Parameters:
 callback – Function callback
- 
void registerOnConstructSoundWaveEnd(std::function<void(bool)> callback)
 Registers the called function when the init audio ends
- Parameters:
 callback – Function callback
- 
inline bool isAsyncInitRunning() const
 Returns if the async initialization thread is running
- Returns:
 bool Async Initialization is running
- 
void setAudioComponent(UAudioComponent *audioComponent)
 Link an audio component to the analyzer
- Parameters:
 audioComponent – Audio Component pointer
- 
void registerOnAudioComponentPlaybackEnd(std::function<void()> callback)
 Registers the called function when the audio playback reaches its end
- Parameters:
 callback – Function callback
- 
void registerOnAudioComponentPlaybackLoopEnd(std::function<void()> callback)
 Registers the called function when one loop of the audio playback reaches its end
- Parameters:
 callback – Function callback
- 
void registerOnAudioComponentStopFinished(std::function<void()> callback)
 Registers the called function when one loop of the audio playback reaches its end
- Parameters:
 callback – Function callback
- 
inline UAudioComponent *getAudioComponent() const
 Returns the audio component pointer
- Returns:
 Audio Component pointer
- 
void playAudioComponent(int32 loops, float startTime)
 Starts the audio component playback
- Parameters:
 loops – Number of loops
startTime – Starting position seconds
- 
void asyncStopAudioComponent()
 Stops audio playback
- 
void pauseAudioComponent(bool forcePause = true)
 Pauses audio component playback if the device is in playing state UnPauses audio component playback if the device has been paused previously
- Parameters:
 forcePause – Set the pause to this state
- 
bool isAudioComponentPlaying() const
 Returns if the device is currently playing audio
- Returns:
 Device is playing
- 
bool isAudioComponentPaused() const
 Returns if the audio component device is currently paused
- Returns:
 Device is paused
- 
float getAudioComponentPlaybackProgress(float &bufferPosTime)
 Returns the audio component progress and buffer postion time
- Parameters:
 bufferPosTime – [out] Buffer position (same as below value)
- Returns:
 float Progress in seconds
- 
float getAudioComponentPlaybackProgress()
 Returns the audio component playback progress
- Returns:
 float Progress in seconds
- 
void setAudioComponentPlaybackProgress(float time)
 Sets the audio component playback progress
- Parameters:
 time – New playback position in seconds
- 
float getAudioComponentTotalDuration() const
 Returns the total audio duration
- Returns:
 Duration in seconds
- 
const int getAudioComponentRemainingLoops() const
 Get remaining loops of the Audio Component
- Returns:
 remainingLoops
Public Members
- 
std::function<void()> onAudioComponentPlaybackFinished
 Reference to the audio component onPlaybackEnd function callback
- 
std::function<void()> onAudioComponentPlaybackLoopFinished
 Reference to the audio component onPlaybackLoopEnd function callback
- 
std::function<void()> onAudioComponentStopFinished
 Reference to the audio component onStopFinished function callback
- 
AudioAnalyzerExtractor()