Struct sphinxad::AudioDevice
[−]
[src]
pub struct AudioDevice { /* fields omitted */ }
Audio device like microphone It will automatically stop recording and will be destroyed
Methods
impl AudioDevice
[src]
fn default() -> Result<AudioDevice>
Open default audio device(microphone) with SPS(samples per second) = 16000
fn default_with_sps(samples_per_second: usize) -> Result<AudioDevice>
Open default audio device(microphone) with given SPS
Example
use std::thread; let mut device=AudioDevice::default_with_sps(44100)?; device.start_recording()?; loop{ //recording loop match device.read(&mut buffer[..])? { Some( buffer ) => { for i in 0..buffer.len() { ... } }, None => break, } thread::sleep_ms(100); }
fn with_name_and_sps(
name: &str,
samples_per_second: usize
) -> Result<AudioDevice>
name: &str,
samples_per_second: usize
) -> Result<AudioDevice>
Open specified audio device with given SPS
fn start_recording(&mut self) -> Result<()>
Start recording
fn stop_recording(&mut self) -> Result<()>
Stop recording
Example
let mut device=AudioDevice::default_with_sps(44100)?; device.start_recording()?; loop{ //recording loop ... } device.stop_recording()?; thread::sleep_ms(1000); device.start_recording()?;
fn read<'a>(&self, buffer: &'a mut [i16]) -> Result<Option<&'a [i16]>>
Read sound to buffer, and return slide of read samples(length of slice may be not equal to buffer length). Return None if nothing to read