5个版本

0.3.2 2021年8月15日
0.3.1 2021年8月14日
0.3.0 2021年8月14日
0.2.14 2021年8月13日
0.2.13 2021年8月13日

音频 中排名第1095

Download history 308/week @ 2024-03-13 352/week @ 2024-03-20 313/week @ 2024-03-27 334/week @ 2024-04-03 344/week @ 2024-04-10 395/week @ 2024-04-17 321/week @ 2024-04-24 369/week @ 2024-05-01 328/week @ 2024-05-08 285/week @ 2024-05-15 379/week @ 2024-05-22 367/week @ 2024-05-29 317/week @ 2024-06-05 341/week @ 2024-06-12 418/week @ 2024-06-19 322/week @ 2024-06-26

每月下载量1,437
3 个Crate 中使用

GPL-3.0-or-later

48KB
987

Rust PulseAudio API

docs crates.io CI

pulsectl 是在 libpulse-binding 提供的PulseAudio绑定周围的一个高级包装器,旨在简化应用程序开发。它提供了对输出、输入、源和输出的简单访问,允许轻松编写音频控制程序。该库只能修改PulseAudio数据(例如,更改音量、路由应用程序和静音)。

这是 JojiiOfficial/pulsectl-rust-fork 的一个分支,该分支是 krruzic/pulsectl-rust 的分支。

示例

列出所有当前连接的播放设备。

use pulsectl::controllers::SinkController;
use pulsectl::controllers::DeviceControl;

// create handler that calls functions on playback devices and apps
let mut handler = SinkController::create().unwrap();

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()
    );
}

有关更详细的示例,请查看 examples 目录。

依赖关系

~2.5MB
~51K SLoC