loadFromBytes method

dynamic loadFromBytes(
  1. JSArrayBuffer audioData,
  2. 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.

Parameters:

  • audioData: The raw audio data as a JSArrayBuffer (from dart: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;
  }
}