pub trait AudioSink {
// Required methods
fn write_chunk(
&mut self,
samples: &[i16],
sample_rate: u32,
) -> Result<(), PiperError>;
fn finalize(&mut self) -> Result<(), PiperError>;
}Expand description
Audio output sink trait for receiving synthesized audio chunks.
Implementations include WAV file, in-memory buffer, rodio playback, etc. Object-safe: no generics in methods.
Required Methods§
Sourcefn write_chunk(
&mut self,
samples: &[i16],
sample_rate: u32,
) -> Result<(), PiperError>
fn write_chunk( &mut self, samples: &[i16], sample_rate: u32, ) -> Result<(), PiperError>
Called for each audio chunk produced by the synthesizer.
Sourcefn finalize(&mut self) -> Result<(), PiperError>
fn finalize(&mut self) -> Result<(), PiperError>
Called when synthesis is complete.