pub struct AudioChunk {
pub data: Vec<u8>,
pub format: AudioFormat,
}Available on crate feature
realtime only.Expand description
Audio chunk with format information.
Fields§
§data: Vec<u8>Raw audio data.
format: AudioFormatAudio format of this chunk.
Implementations§
Source§impl AudioChunk
impl AudioChunk
Sourcepub fn new(data: Vec<u8>, format: AudioFormat) -> AudioChunk
pub fn new(data: Vec<u8>, format: AudioFormat) -> AudioChunk
Create a new audio chunk.
Sourcepub fn pcm16_24khz(data: Vec<u8>) -> AudioChunk
pub fn pcm16_24khz(data: Vec<u8>) -> AudioChunk
Create a PCM16 24kHz audio chunk (OpenAI format).
Sourcepub fn pcm16_16khz(data: Vec<u8>) -> AudioChunk
pub fn pcm16_16khz(data: Vec<u8>) -> AudioChunk
Create a PCM16 16kHz audio chunk (Gemini input format).
Sourcepub fn duration_ms(&self) -> f64
pub fn duration_ms(&self) -> f64
Get duration of this audio chunk in milliseconds.
Sourcepub fn from_base64(
encoded: &str,
format: AudioFormat,
) -> Result<AudioChunk, DecodeError>
pub fn from_base64( encoded: &str, format: AudioFormat, ) -> Result<AudioChunk, DecodeError>
Decode audio data from base64.
Sourcepub fn from_i16_samples(samples: &[i16], format: AudioFormat) -> AudioChunk
pub fn from_i16_samples(samples: &[i16], format: AudioFormat) -> AudioChunk
Create an AudioChunk from i16 samples (converts to PCM16 little-endian bytes).
This is useful when working with audio APIs (like LiveKit) that provide
samples as i16 slices rather than raw byte buffers.
Trait Implementations§
Source§impl Clone for AudioChunk
impl Clone for AudioChunk
Source§fn clone(&self) -> AudioChunk
fn clone(&self) -> AudioChunk
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for AudioChunk
impl RefUnwindSafe for AudioChunk
impl Send for AudioChunk
impl Sync for AudioChunk
impl Unpin for AudioChunk
impl UnsafeUnpin for AudioChunk
impl UnwindSafe for AudioChunk
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.