3个版本
0.2.6 | 2019年11月14日 |
---|---|
0.2.5 | 2019年11月14日 |
0.2.0 | 2019年11月14日 |
#964 in 音频
48KB
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
~50K SLoC