Trait AudioFormatNum
pub trait AudioFormatNum: Copy + 'static {
const SILENCE: Self;
// Required method
fn audio_format() -> AudioFormat;
}
Available on crate feature
dep_sdl3
only.Expand description
A phantom type for retrieving the SDL_AudioFormat
of a given generic type.
All format types are returned as native-endian.
Required Associated Constants§
const SILENCE: Self
const SILENCE: Self
The appropriately typed silence value for the audio format used.
§Examples
// The AudioFormatNum trait has to be imported for the Channel::SILENCE part to work.
use sdl3::audio::{AudioCallback, AudioFormatNum};
struct Silence;
impl<Channel> AudioCallback<Channel> for Silence
where
Channel: AudioFormatNum,
{
fn callback(&mut self, out: &mut [Channel]) {
for dst in out.iter_mut() {
*dst = Channel::SILENCE;
}
}
}
Required Methods§
fn audio_format() -> AudioFormat
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
§impl AudioFormatNum for f32
AUDIO_F32
impl AudioFormatNum for f32
AUDIO_F32
const SILENCE: f32 = 0f32
fn audio_format() -> AudioFormat
§impl AudioFormatNum for i8
AUDIO_S8
impl AudioFormatNum for i8
AUDIO_S8
const SILENCE: i8 = 0i8
fn audio_format() -> AudioFormat
§impl AudioFormatNum for i16
AUDIO_S16
impl AudioFormatNum for i16
AUDIO_S16
const SILENCE: i16 = 0i16
fn audio_format() -> AudioFormat
§impl AudioFormatNum for i32
AUDIO_S32
impl AudioFormatNum for i32
AUDIO_S32
const SILENCE: i32 = 0i32
fn audio_format() -> AudioFormat
§impl AudioFormatNum for u8
AUDIO_U8
impl AudioFormatNum for u8
AUDIO_U8