Speaker2 Hat

这是 Speaker2 Hat 的驱动库,提供了控制扬声器的功能。

支持以下产品:

Speaker2

UiFlow2 示例

播放音频

在 UiFlow2 中打开 speaker2_stickcplus2_example.m5f2 项目。

这个示例演示了如何播放音频。

UiFlow2 代码块:

example.png

示例输出:

None

MicroPython 示例

播放音频

这个示例演示了如何播放音频。

MicroPython 代码块:

 1# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8from hat import Speaker2Hat
 9
10
11title1 = None
12label0 = None
13label1 = None
14hat_spk2_0 = None
15
16
17def setup():
18    global title1, label0, label1, hat_spk2_0
19
20    Widgets.setRotation(3)
21    M5.begin()
22    title1 = Widgets.Title("SPK2 StickcPlus2 e.g.", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu18)
23    label0 = Widgets.Label(
24        "Press BtnA to Beep", 1, 39, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18
25    )
26    label1 = Widgets.Label(
27        "Press BtnB to play wav", 1, 74, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18
28    )
29
30    hat_spk2_0 = Speaker2Hat((26, 0))
31    hat_spk2_0.setVolumePercentage(1)
32
33
34def loop():
35    global title1, label0, label1, hat_spk2_0
36    M5.update()
37    if BtnA.wasPressed():
38        hat_spk2_0.tone(2000, 100)
39    if BtnB.wasPressed():
40        hat_spk2_0.playWavFile("/flash/res/audio/poweron_2_5s.wav")
41
42
43if __name__ == "__main__":
44    try:
45        setup()
46        while True:
47            loop()
48    except (Exception, KeyboardInterrupt) as e:
49        try:
50            from utility import print_error_msg
51
52            print_error_msg(e)
53        except ImportError:
54            print("please update to latest firmware")

示例输出:

None

API参考

Speaker2

class hat.speaker2.Speaker2Hat(*args, **kwargs)

基类:object

Speaker2 类继承 Speaker 类,请参阅 hardware.Speaker.Methods 了解更多详细信息。