setLoopingTrack method

  1. @override
void setLoopingTrack(
  1. Uint8List? pcmData
)
override

Implementation

@override
void setLoopingTrack(typed_data.Uint8List? pcmData) {
  _loopingSource?.stop();
  _loopingSource = null;

  if (pcmData != null && _audioContext != null) {
    final audioBuffer = _createAudioBuffer(pcmData);
    final source = _audioContext!.createBufferSource();
    source.buffer = audioBuffer;
    // Use native loop=true for continuous background audio.
    // Plays immediately and loops forever until stopped.
    source.loop = true;
    source.connect(_backgroundGainNode!);
    source.start();
    _loopingSource = source;
  }
}