4个版本
0.2.12 | 2021年1月22日 |
---|---|
0.2.11 | 2020年12月28日 |
0.2.8 | 2020年12月27日 |
0.2.7 | 2020年11月29日 |
#615 in 音频
48次每月下载
用于 2 crates
49KB
1K SLoC
Rust PulsecAudio API
pulsectl-rust
是 libpulse_binding
的API包装器,以简化PulseAudio应用程序开发。这是一个包装器,因此该库只能修改PulseAudio数据(目前可以更改音量、路由应用程序和静音)。
用法
将此添加到您的 Cargo.toml
[dependencies]
rust-pulsectl = "0.2.6"
然后,通过创建音频播放设备和应用程序的 SinkController
或音频录制设备和应用程序的 SourceController
来连接到PulseAudio。
// Simple application that lists all playback devices and their status
// See examples/change_device_vol.rs for a more complete example
extern crate pulsectl;
use std::io;
use pulsectl::controllers::SinkController;
use pulsectl::controllers::DeviceControl;
fn main() {
// create handler that calls functions on playback devices and apps
let mut handler = SinkController::create();
let devices = handler
.list_devices()
.expect("Could not get list of playback devices");
println!("Playback Devices");
for dev in devices.clone() {
println!(
"[{}] {}, [Volume: {}]",
dev.index,
dev.description.as_ref().unwrap(),
dev.volume.print()
);
}
}
依赖项
~2.5MB
~51K SLoC