amico_hal/os/common/audio/
driver.rs1use crate::interface::audio::{AudioPlayer, AudioRecorder};
2
3use super::control::{AudioPlaybackError, AudioRecordingError, playback, record_blocking};
4
5pub struct AudioDriver;
6
7impl AudioRecorder for AudioDriver {
8 type Error = AudioRecordingError;
9
10 async fn record(path: &str) -> Result<(), Self::Error>
11 where
12 Self: Sized,
13 {
14 record_blocking(path).await
15 }
16}
17
18impl AudioPlayer for AudioDriver {
19 type Error = AudioPlaybackError;
20
21 async fn play(path: &str) -> Result<(), Self::Error>
22 where
23 Self: Sized,
24 {
25 playback(path).await
26 }
27}