#openbsd #sound #audio #sndio

bin+lib sioctl

读取sndio控制状态接口

2 个版本

0.0.2 2020年5月28日
0.0.1 2020年5月2日

#183 in 多媒体


cnx-contrib 中使用

MIT 许可证

19KB
234

sioctl-rs

读取 sndio 控制状态的接口。

此crate提供了围绕sioctl_open(3) API的包装,用于读取和监视 sndio 控制的状态。

可以通过 Sioctl::new() 打开默认的 sndio 设备。可以通过调用 Sioctl::controls() 读取控制器的初始状态,并通过 Sioctl::watch() 请求后续变化的回调。

目前尚无设置控制器值的方法。如果您觉得这很有用,请随时提交PR。

示例

use sioctl::Sioctl;

fn main() {
    let s = Sioctl::new();

    // Initial state of all controls.
    for control in s.controls() {
        println!("{:?}", control);
    }

    // Watch for changes to all controls:
    let mut watcher = s.watch(|control| println!("{:?}", control));

    // ...

    // When done, call join() to shutdown watching.
    watcher.join();
}

更完整的示例可在 src/bin/sioctl.rs 中找到。

安装

sndio-sys crate 需要 libclang.so,该文件存在于 llvm 包中

doas pkg_add llvm

许可证

MIT

依赖项

~1.6–3.5MB
~69K SLoC