abort method

  1. @override
Future<void> abort({
  1. AudioFailure? failure,
})

Immediately stops pending work and discards buffered data.

Implementations must safely interrupt an in-flight write or finish. Callers may invoke abort concurrently to guarantee prompt shutdown of realtime playback or provider I/O.

Implementation

@override
Future<void> abort({AudioFailure? failure}) {
  if (_status.state == AudioSessionState.closed ||
      _status.state == AudioSessionState.finished ||
      _status.state == AudioSessionState.aborted ||
      _status.state == AudioSessionState.failed) {
    return Future<void>.value();
  }
  return _abortFuture ??= _abort(failure);
}