abstract class NatML.Devices.Outputs.AudioOutput : IDisposable
The AudioOutput is an abstract base class for defining media device outputs that consume AudioBuffer instances.

Updating with New Buffers

/// <summary>
/// Update the output with a new audio buffer.
/// </summary>
/// <param name="audioBuffer">Audio buffer.</param>
abstract void Update (AudioBuffer audioBuffer);
The audio output is updated with the Update method. The output will then consume the data within the AudioBuffer, performing any necessary computations and transformations.

Disposing the Output

/// <summary>
/// Dispose the audio output and release resources.
/// </summary>
virtual void Dispose ();
The Dispose method performs a cleanup and releases any resources held by the output.
Always remember to dispose outputs to prevent resource leaks.

Implicit Delegate Conversion

/// <summary>
/// Implicitly convert the output to an audio buffer delegate.
/// </summary>
static implicit operator Action<AudioBuffer> (AudioOutput output);
The AudioOutput class defines an implicit conversion to an Action<AudioBuffer>, allowing the output to be passed directly to AudioDevice.StartRunning.