2 个版本
0.0.2 | 2020年5月28日 |
---|---|
0.0.1 | 2020年5月2日 |
#183 in 多媒体
在 cnx-contrib 中使用
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