blob: 7fca1a761f34f69d834206e9517c39d8a6e966cd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
mod mpv;
mod rodio;
pub trait AudioBackend {
fn play(&self, url: &str);
}
#[allow(dead_code)]
pub enum AudioBackends {
Mpv(mpv::Mpv),
Rodio(rodio::Rodio),
}
pub fn get_backend() -> AudioBackends {
AudioBackends::Mpv(mpv::Mpv {})
}
impl AudioBackend for AudioBackends {
fn play(&self, url: &str) {
match self {
AudioBackends::Mpv(m) => m.play(url),
AudioBackends::Rodio(r) => r.play(url),
}
}
}
|