1use {
2 cxx_juce::{
3 juce_audio_devices::{AudioDeviceManager, AudioIODevice},
4 Result, JUCE,
5 },
6 std::{thread::sleep, time::Duration},
7};
8
9fn main() -> Result<()> {
10 let juce = JUCE::initialise();
11 let mut audio_device_manager = AudioDeviceManager::new(&juce);
12 audio_device_manager.initialise(0, 2)?;
13
14 {
15 let mut device = audio_device_manager.current_device().unwrap();
16
17 println!("Name: {}", device.name());
18 println!("Type: {}", device.type_name());
19 println!("Sample rate: {}", device.sample_rate());
20 println!("Buffer size: {}", device.buffer_size());
21 println!(
22 "Available sample rates: {:?}",
23 device.available_sample_rates()
24 );
25 println!(
26 "Available buffer sizes: {:?}",
27 device.available_buffer_sizes()
28 );
29 }
30
31 audio_device_manager.play_test_sound();
32 sleep(Duration::from_secs(1));
33
34 Ok(())
35}