termux/
audio.rs

1use crate::*;
2use serde::Deserialize;
3
4#[derive(Deserialize, Debug, Clone)]
5#[serde(rename_all = "UPPERCASE")]
6pub struct AudioInfo {
7    pub property_output_sample_rate: String,
8    pub property_output_frames_per_buffer: String,
9    pub audiotrack_sample_rate: i32,
10    pub audiotrack_buffer_size_in_frames: i32,
11    pub audiotrack_sample_rate_low_latency: i32,
12    pub bluetooth_a2dp_is_on: bool,
13    pub wiredheadset_is_connected: bool,
14}
15
16/// Get information about audio capabilities.
17pub fn info() -> io::Result<AudioInfo> {
18    let out = run_api_cmd("AudioInfo")?;
19    Ok(serde_json::from_str(&out).unwrap())
20}
21
22#[test]
23fn test_info() {
24    assert!(info().is_ok())
25}