init method
- HTMLAudioElement audioElement,
- AudioContext audioContext
Initializes the audio visualizer.
This method sets up the necessary Web Audio API nodes and connections.
It also initializes _waveformData
based on the fftSize.
audioElement
: The HTML audio element whose audio will be visualized.audioContext
: The Web Audio API context to use for creating nodes.
If an error occurs during setup (e.g., due to browser restrictions or invalid parameters), a warning is logged, and the visualizer attempts to disconnect any partially set up nodes.
Implementation
void init(HTMLAudioElement audioElement, AudioContext audioContext) {
_fftSize = _ensureValidFFTSize(_fftSize);
try {
_sourceNode = audioContext.createMediaElementSource(audioElement);
_analyserNode = audioContext.createAnalyser();
_analyserNode!.fftSize = _fftSize;
_waveformData = Uint8List(_analyserNode!.fftSize);
_sourceNode!.connect(_analyserNode!);
_analyserNode!.connect(audioContext.destination);
} catch (e) {
warn('Error setting up music analyser: $e');
disconnect();
}
}