pub struct AudioInputDevice {
pub id: String,
pub name: String,
pub is_default: bool,
}Expand description
Represents an audio input device (microphone).
Fields§
§id: StringThe unique device ID used with SCStreamConfiguration::with_microphone_capture_device_id
name: StringHuman-readable device name
is_default: boolWhether this is the system default audio input device
Implementations§
Source§impl AudioInputDevice
impl AudioInputDevice
Sourcepub fn list() -> Vec<Self>
pub fn list() -> Vec<Self>
List all available audio input devices.
§Caching
Not cached. Each call walks Apple’s audio device list via
AVAudioSession/AudioUnit and copies the per-device strings
across the FFI boundary. The cost is small in absolute terms
(microseconds) but is non-zero on every call. Code that
repeatedly needs the device list (e.g. inside a UI render loop
or per-frame decision) should cache the result and re-list only
when the user signals a possible device change (e.g. on a
settings-pane open or an AVAudioRouteChangeNotification).
§Example
use screencapturekit::audio_devices::AudioInputDevice;
let devices = AudioInputDevice::list();
for device in &devices {
println!("{}: {} {}", device.id, device.name,
if device.is_default { "(default)" } else { "" });
}Sourcepub fn default_device() -> Option<Self>
pub fn default_device() -> Option<Self>
Get the default audio input device, if any.
§Example
use screencapturekit::audio_devices::AudioInputDevice;
if let Some(device) = AudioInputDevice::default_device() {
println!("Default microphone: {}", device.name);
}Trait Implementations§
Source§impl Clone for AudioInputDevice
impl Clone for AudioInputDevice
Source§fn clone(&self) -> AudioInputDevice
fn clone(&self) -> AudioInputDevice
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more