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()