JoeDevHertz 扩展:频率发生器(正弦 / 方波 / 三角 / 锯齿波)

« 返回首页

JoeDevHertz 扩展

频率发生器扩展:按指定频率(Hz)发声,支持正弦 / 方波 / 三角 / 锯齿四种波形,还可设定一段频率区间让它来回振荡(比如做警报音、滑音效果)。作者明言是为钢琴 / 音调类项目开发的(与 FloatingArrangement 搭配做琴键界面)。

下载

joejsanz.joedevhertz.aix(v1.1)

Hertz.aia - 原作者示例项目

基本信息

  • 版本:v1.1
  • 发布时间:2024-11-27(首发),v1.1 更新于 2026-02-26
  • JDK:11
  • 最低 API 级别:21
  • 构建方式:FAST-CLI v5.6.0-premium
  • 体积:aix 约 9.7KB;示例项目 Hertz.aia 约 16.3KB

截图

GenerateSound 方法

GenerateSound 方法

WaveType 属性(下拉辅助块)

WaveType 属性

Loop 方法

Loop 方法

FrequencyChanged 事件

FrequencyChanged 事件

方法

GenerateSound生成声音(频率)
生成指定频率的声音,单位 Hz(440 即 A4 标准音)。注意:Loop 循环激活期间,这里的频率参数会被忽略(由循环决定实际频率)。
Stop停止()
停止发声。
Loop设置频率循环(起始频率,结束频率)
设置从起始频率到结束频率来回振荡的循环,配合 GenerateSound 使用。
LoopFrequency获取循环当前频率()
获取循环当前的频率(该值由 GenerateSound 自动使用)。

属性

WaveType波形类型
设置波形,用红色下拉辅助块选择:Sine(正弦波)、Square(方波)、Triangle(三角波)、Sawtooth(锯齿波)。

事件

FrequencyChanged频率变化时(频率,已完成循环数)
循环中的频率发生变化时触发,返回当前频率与已完成的循环次数。

使用注意

  • 单声道:已有一个声音在播时,再调 GenerateSound 会先停掉前一个再播新的。想同时发多个音,放多个 Hertz 组件实例即可同时发声。
  • 可听域一般为 20 Hz – 20,000 Hz(实际取决于设备硬件)。
  • ⚠️ 保护听力:不要在大音量下听低于 20 Hz 或高于 10,000 Hz 的声音。

版本更新

v1.1(2026-02-26)

  • 积木改名:SetWaveType → WaveType、SetLoop → Loop、GetLoopFrequency → LoopFrequency。
  • 波形取值从大写(SINE / SQUARE / TRIANGLE / SAWTOOTH)改为 Sine / Square / Triangle / Sawtooth,并改为下拉辅助块。

版权信息

本文档内容依据原作者发布页面整理翻译,版权归原作者所有。

  • 原作者:Joe J. Sánchez(Joejsanz)
  • 原始网址:https://community.appinventor.mit.edu/t/hertz-frequency-generator/132986
  • 发布日期:2024年11月27日
文档反馈