start method

Future<void> start()

Implementation

Future<void> start() async {
  if (_running) return;

  // Ensure player is open (may have been closed by dispose or never opened)
  if (!_player.isOpen()) {
    await _player.openPlayer();
  }

  try { _player.setLogLevel(Level.off); } catch (_) {
    // setLogLevel not implemented on web — safe to ignore
  }
  await _player.startPlayerFromStream(
    codec: Codec.pcm16,
    numChannels: NeomGeneratorConstants.channels,
    sampleRate: NeomGeneratorConstants.sampleRate,
    interleaved: true,
    bufferSize: NeomGeneratorConstants.framesPerBuffer * 4,
  );

  _running = true;
  _audioLoop();
}