pub struct AudioDeviceManager { /* private fields */ }Expand description
Manages the state of an audio device.
Implementations§
Source§impl AudioDeviceManager
impl AudioDeviceManager
Sourcepub fn new(juce: &JUCE) -> Self
pub fn new(juce: &JUCE) -> Self
Create a new AudioDeviceManager.
Examples found in repository?
examples/audio_callback.rs (line 81)
79fn main() -> Result<()> {
80 let juce = JUCE::initialise();
81 let mut device_manager = AudioDeviceManager::new(&juce);
82 device_manager.initialise(0, 2)?;
83
84 let handle = device_manager.add_audio_callback(AudioCallback::default());
85
86 sleep(Duration::from_secs(2));
87
88 device_manager.remove_audio_callback(handle);
89
90 Ok(())
91}More examples
examples/devices.rs (line 8)
6fn main() -> Result<()> {
7 let juce = JUCE::initialise();
8 let mut audio_device_manager = AudioDeviceManager::new(&juce);
9 audio_device_manager.initialise(2, 2)?;
10
11 let device_type = audio_device_manager.current_device_type().unwrap();
12
13 println!("Inputs:");
14 for input in device_type.input_devices() {
15 println!(" {}", input);
16 }
17
18 println!("Outputs:");
19 for output in device_type.output_devices() {
20 println!(" {}", output);
21 }
22
23 Ok(())
24}examples/test_tone.rs (line 11)
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}Sourcepub fn initialise(
&mut self,
input_channels: usize,
output_channels: usize,
) -> Result<()>
pub fn initialise( &mut self, input_channels: usize, output_channels: usize, ) -> Result<()>
Resets to a default device setup.
Examples found in repository?
examples/audio_callback.rs (line 82)
79fn main() -> Result<()> {
80 let juce = JUCE::initialise();
81 let mut device_manager = AudioDeviceManager::new(&juce);
82 device_manager.initialise(0, 2)?;
83
84 let handle = device_manager.add_audio_callback(AudioCallback::default());
85
86 sleep(Duration::from_secs(2));
87
88 device_manager.remove_audio_callback(handle);
89
90 Ok(())
91}More examples
examples/devices.rs (line 9)
6fn main() -> Result<()> {
7 let juce = JUCE::initialise();
8 let mut audio_device_manager = AudioDeviceManager::new(&juce);
9 audio_device_manager.initialise(2, 2)?;
10
11 let device_type = audio_device_manager.current_device_type().unwrap();
12
13 println!("Inputs:");
14 for input in device_type.input_devices() {
15 println!(" {}", input);
16 }
17
18 println!("Outputs:");
19 for output in device_type.output_devices() {
20 println!(" {}", output);
21 }
22
23 Ok(())
24}examples/test_tone.rs (line 12)
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}Sourcepub fn audio_device_setup(&self) -> AudioDeviceSetup
pub fn audio_device_setup(&self) -> AudioDeviceSetup
Get the current device setup.
Sourcepub fn set_audio_device_setup(&mut self, setup: &AudioDeviceSetup)
pub fn set_audio_device_setup(&mut self, setup: &AudioDeviceSetup)
Changes the current device or its settings.
Sourcepub fn play_test_sound(&mut self)
pub fn play_test_sound(&mut self)
Play a test sound.
Examples found in repository?
examples/test_tone.rs (line 31)
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}Sourcepub fn device_types(&mut self) -> Vec<impl AudioIODeviceType + '_>
pub fn device_types(&mut self) -> Vec<impl AudioIODeviceType + '_>
Get the available device types.
Sourcepub fn current_device_type(&self) -> Option<impl AudioIODeviceType + '_>
pub fn current_device_type(&self) -> Option<impl AudioIODeviceType + '_>
Get the current device type.
Examples found in repository?
examples/devices.rs (line 11)
6fn main() -> Result<()> {
7 let juce = JUCE::initialise();
8 let mut audio_device_manager = AudioDeviceManager::new(&juce);
9 audio_device_manager.initialise(2, 2)?;
10
11 let device_type = audio_device_manager.current_device_type().unwrap();
12
13 println!("Inputs:");
14 for input in device_type.input_devices() {
15 println!(" {}", input);
16 }
17
18 println!("Outputs:");
19 for output in device_type.output_devices() {
20 println!(" {}", output);
21 }
22
23 Ok(())
24}Sourcepub fn current_device(&self) -> Option<impl AudioIODevice + '_>
pub fn current_device(&self) -> Option<impl AudioIODevice + '_>
Get the current AudioIODevice.
Examples found in repository?
examples/test_tone.rs (line 15)
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}Sourcepub fn add_audio_callback(
&mut self,
callback: impl AudioIODeviceCallback + 'static,
) -> AudioCallbackHandle
pub fn add_audio_callback( &mut self, callback: impl AudioIODeviceCallback + 'static, ) -> AudioCallbackHandle
Registers an audio callback.
Examples found in repository?
examples/audio_callback.rs (line 84)
79fn main() -> Result<()> {
80 let juce = JUCE::initialise();
81 let mut device_manager = AudioDeviceManager::new(&juce);
82 device_manager.initialise(0, 2)?;
83
84 let handle = device_manager.add_audio_callback(AudioCallback::default());
85
86 sleep(Duration::from_secs(2));
87
88 device_manager.remove_audio_callback(handle);
89
90 Ok(())
91}Sourcepub fn remove_audio_callback(&mut self, handle: AudioCallbackHandle)
pub fn remove_audio_callback(&mut self, handle: AudioCallbackHandle)
Removes an audio callback.
Examples found in repository?
examples/audio_callback.rs (line 88)
79fn main() -> Result<()> {
80 let juce = JUCE::initialise();
81 let mut device_manager = AudioDeviceManager::new(&juce);
82 device_manager.initialise(0, 2)?;
83
84 let handle = device_manager.add_audio_callback(AudioCallback::default());
85
86 sleep(Duration::from_secs(2));
87
88 device_manager.remove_audio_callback(handle);
89
90 Ok(())
91}Sourcepub fn add_audio_device_type(
&mut self,
device_type: impl AudioIODeviceType + 'static,
)
pub fn add_audio_device_type( &mut self, device_type: impl AudioIODeviceType + 'static, )
Registers an audio device type.
Sourcepub fn set_current_audio_device_type(&mut self, device_type: &str)
pub fn set_current_audio_device_type(&mut self, device_type: &str)
Set the current audio device type to use.
Auto Trait Implementations§
impl Freeze for AudioDeviceManager
impl RefUnwindSafe for AudioDeviceManager
impl !Send for AudioDeviceManager
impl !Sync for AudioDeviceManager
impl Unpin for AudioDeviceManager
impl UnwindSafe for AudioDeviceManager
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