pub trait AudioStream:
Stream<Item = VuiResult<AudioChunk>>
+ Send
+ Unpin { }Expand description
A stream of audio chunks.
This trait represents any stream that produces audio data as AudioChunk items.
It’s used throughout the VUIKit system to pass audio data between components
in a streaming fashion for real-time processing.
§Example
use vuikit::core::streams::AudioStream;
use vuikit::core::audio::AudioChunk;
use vuikit::core::error::VuiResult;
use futures::{stream, Stream};
// Any stream of audio chunks automatically implements AudioStream
let audio_data: Vec<VuiResult<AudioChunk>> = vec![
Ok(AudioChunk::new(vec![0.1, 0.2, 0.3], 16000, 1)),
Ok(AudioChunk::new(vec![0.4, 0.5, 0.6], 16000, 1)),
];
let audio_stream = stream::iter(audio_data);
// audio_stream now implements AudioStreamDyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl<S> AudioStream for S
Blanket implementation for any stream that produces audio chunks