loadFromBytes method
- JSArrayBuffer audioData,
- AudioContext audioContext
Asynchronously decodes audio data from a JSArrayBuffer and prepares it for playback.
This method takes raw audio data (e.g., fetched from a file or network)
and uses the provided audioContext
to decode it into an AudioBuffer.
- On successful decoding, state becomes LoadingState.ready and buffer will store the decoded AudioBuffer.
- If an error occurs during decoding, state becomes LoadingState.error
and an error message is logged using
warn
.
Parameters:
audioData
: The raw audio data as a JSArrayBuffer (fromdart:js_interop
).audioContext
: The Web Audio API AudioContext used for decoding.
Returns a Future that completes when decoding is finished.
Implementation
loadFromBytes(JSArrayBuffer audioData, AudioContext audioContext) async {
try {
buffer = await audioContext.decodeAudioData(audioData).toDart;
state = LoadingState.ready;
} catch (error) {
warn("Error decoding audioData", error);
state = LoadingState.error;
}
}