(&self)
| 610 | /// Wireless and USB mics come and go, so every call re-queries the backend |
| 611 | /// instead of serving a cached list. |
| 612 | #[cfg(not(target_arch = "wasm32"))] |
| 613 | pub fn mic_devices() -> Result<Vec<MicDevice>, String> { |
| 614 | let inputs = enumerate_inputs()?; |
| 615 | let names: Vec<&str> = inputs.iter().map(|input| input.name.as_str()).collect(); |
| 616 | let labels = dedupe_labels(&names); |
| 617 | let mut default_taken = false; |
| 618 | let devices = inputs |
| 619 | .into_iter() |