start method
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();
}