#beep #sound

actually_beep

一个跨平台的库,提供实际发声的beep函数。

2个版本

0.1.1 2024年6月5日
0.1.0 2024年6月3日

#216 in 音频

每月47次下载

Apache-2.0

15KB
139

actually_beep

一个能够真正发声的库。

crates.io docs.rs MSRV License

概述

这是一个跨平台的库,提供易于使用的beep函数,实际上会发声。它提供了非常基本的音频音调(beep),适用于任何可能的使用。它是基于惊人的CPAL crate构建的,它提供了低级音频支持,并且还提供了许多优秀的示例,这个crate从中借鉴了很多。

安装

我们真的在做这件事吗?

# Add this to your [dependencies] section in Cargo.toml
actually_beep = "0.1.0"

使用方法

use actually_beep::beep_with_hz_and_millis;

fn main() {
  let middle_e_hz = 329;
  let a_bit_more_than_a_second_and_a_half_ms = 1600;

  beep_with_hz_and_millis(middle_e_hz, a_bit_more_than_a_second_and_a_half_ms).unwrap();
}

Crate功能

  • jack - 使用cpal的"jack"功能。仅在Linux和BSD上有效。

动机

我在编写我的1970年代 复古游戏 重写之一,并且我需要能够生成beep(用于模拟逼真性)。我以前需要这个,并且我找到了beep crate,我使用了它,但是不得不停止使用,因为它不是跨平台的。

然后我又在编写一个新的1970年代复古游戏,并且需要beep,所以我进一步寻找。有各种各样的平台相关crate具有类似的功能,包括

这些都不是跨平台的,而且它们都是不同的。这个crate通过提供一个适用于所有平台的通用beep接口来解决这个问题。

还有一些非常酷的库,它们非常出色,但我需要的并不多。其中之一是CPAL,它不是我需要的,但我可以用它来构建我需要的东西。

未来计划

目前有一个阻塞的调用。没有像beep crate提供的“无限beep”调用,它也不提供调整音频设备、主机音频系统或其他任何内容的方法。

这些事情可能,可能,将会被处理。

许可证

许可协议

感谢

感谢beepbeep_evdevwin-beep的作者们的启发。

CPAL的作者表示难以想象的、荒谬的感谢。

依赖关系

~0.7–30MB
~437K SLoC