wasmReadFrom method

  1. @override
void wasmReadFrom(
  1. WasmReader reader
)
override

Implementation

@override
void wasmReadFrom(WasmReader reader) {
  frameCount = reader.Uint32();
  sampleRate = reader.Uint32();
  sampleSize = reader.Uint32();
  channels = reader.Uint32();
  _dataPtr = reader.pointer();

  if (_dataPtr > 0) data = switch (sampleSize) {
    8  => reader.Uint8TypedArray(waveLength, _dataPtr).sublist(0).buffer,
    16 => reader.Int16TypedArray(waveLength, _dataPtr).sublist(0).buffer,
    32 => reader.Float32TypedArray(waveLength, _dataPtr).sublist(0).buffer,
    _  => throw UnsupportedError('Unexpected sampleSize: $sampleSize'),
  };
}