嵌入式技术论坛
直播中

万航渡路

8年用户 1295经验值
擅长:电源/新能源
私信 关注
[资料]

RT-Thread实现蜂鸣器播放器设计资料分享(二)

4、音乐数据的编码与解码
一般说来,蜂鸣器演奏音乐只能是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此蜂鸣器奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。十二平均律就规定了每一个音符的标准频率。
第 4 节:音乐数据的编码与解码.pdf (516.02 KB)
(下载次数: 1, 2022-4-12 16:56 上传)

5、实现一个播放器的内核
为了实现这些功能,我们可以先创建一个结构体来存储播放器的信息及其当前的状态,例如:播放列表、当前的播放状态、音量大小等,如下所示:播放状态只有两种状态,正在播放和播放停止;PLAYER_SONG_NUM_MAX 默认定义为 10 首。
第 5 节:播放器的实现.pdf (993.27 KB)
(下载次数: 1, 2022-4-12 16:57 上传)

6、实现按键控制播放器
要做一个音乐播放器,需要有什么按键的功能呢?暂停/播放,上一曲,下一曲,音量加/减。要实现这几个按键的功能,需要借助 button 驱动库的单击事件和长按事件。根据按键在开发板上的排布,我们使用左边的 KEY2 作为上一曲的按键,长按为音量减;右边的按键 KEY0 作为下一曲的按键,长按为音量加;中间的按键 KEY1 作为 暂停/播放 的按钮。


第 6 节:为播放器添加按键控制.pdf (380.69 KB)
(下载次数: 2, 2022-4-12 16:57 上传)



更多回帖

发帖
×
20
完善资料,
赚取积分