buzzer模块

状态 最后更新 API版本
Active 2020-1-7 V1.00.00

描述

这个模块提供对板载蜂鸣器的访问

sysSound

您应该尽量使用sysSound 下面的表格列举系统声音:

名称 用法
sysSound.alarm 发生错误和警告时应当使用
sysSound.hint 发生提醒时使用
sysSound.started 某个过程开始时使用
sysSound.finished 某个过程结束时使用

buzzer.system()

描述

播放系统声音。

参数

名称 类型 范围 用途
<Sound> sysSound 指定播放的声音.
[WaitForEnd] boolean 可选参数,如果为true,则在声音播放完成后才返回,如果为false,则立刻返回。若未指定,则立刻返回

返回值

nil

调用例

buzzer.system(sysSound.alarm) --without block
delay.ms(1000)
buzzer.system(sysSound.started,true) --with block 

buzzer.singleTone()

描述

播放一个指定时长和频率的声音。

参数

名称 类型 范围 用途
<Frequency> number 100-10000 指定以赫兹为单位的频率
[Duration] number 1-65535 可选参数。指定时长,如果未指定,则永远播放。
[WaitForEnd] boolean 可选参数,如果为true,则在声音播放完成后才返回,如果为false,则立刻返回。若未指定,则立刻返回

返回值

nil

调用例

buzzer.singleTone(1000,1000) --1000HZ for 1000ms, non-blocking
buzzer.singleTone(1000,1000,true) --1000HZ for 1000ms, blocking

buzzer.waitForEnd()

描述

等待当前正在播放的音效结束。 如果没有正在播放的音效,立刻返回。

参数

nil

返回值

nil

调用例

buzzer.singleTone(1000,1000) --1000HZ for 1000ms, non-blocking
buzzer.waitForEnd() --Wait for last sound to be played.

buzzer.stop()

描述

停止当前正在播放的音效。

参数

nil

返回值

nil

调用例

buzzer.singleTone(1000,1000) --1000HZ for 1000ms, non-blocking
delay.ms(200)
buzzer.stop() --Stop the sound, the sound should be played for only 200 miliseconds.

示例代码

--[[This is a demo for buzzer APIs.
    See comments to understand well.

    Detailed Documentation:
    Version: 20200117
    Author:  yanke928
]]

buzzer.system(sysSound.alarm) --Non-blocking
buzzer.waitForEnd() --Wait for end

delay.ms(1000)

buzzer.system(sysSound.alarm,true) --Blocking

delay.ms(1000)

buzzer.singleTone(1000,1000) --1000HZ for 1000ms, Non-blocking
buzzer.waitForEnd() --Wait for end

delay.ms(1000)

buzzer.singleTone(1000,1000,true) --1000HZ for 1000ms, blocking

delay.ms(1000)

buzzer.singleTone(1000,1000) --1000HZ for 1000ms, non-blocking
delay.ms(200)
buzzer.stop() --Stop the sound, the sound should be played for only 200ms

os.exit(0)