分享

Labview&STM32实验:制作一个简易的音乐播放器

 Ycp2016 2017-09-21

音频播放最核心的算法是音频解码,一般有独立的音频解码芯片,不需要额外编写算法,由解码芯片接收音频数据流即可。在本次实验中,是由STM32从SD卡中读取和解析音频文件,然后向音频解码芯片送出音频数据流,最后由音频解码芯片解码和和驱动输出音乐。

本次实验的音频解码主要是VS1053B或VS1003B,STM32与VS1053B之间的通讯使用SPI通讯。

MP3模块硬件电路:

Labview&STM32实验:制作一个简易的音乐播放器

本次实验能够实现循环播放、暂停、快进和后退功能,并且可以实时显示播放进度、播放总时间以及当前正在播放的音乐名称。

一,程序编写:

1, 程序编写步骤

1, SD文件系统初始化

2, MP3模块初始化

3, MP3硬件复位

4, 浏览Music文件夹

外层while循环:循环获取音频文件路径,实现循环播放

5, 索引音频文件路径

6, 打音频文件

7, 设置音效

8, 设置播放速度

9, 播放音乐

内层while循环:实时读取音频数据块进行解码播放,并且刷新播放进度条和捕捉前面板上的按键操作

10, 获取播放进度

11, 快进

12, 后退

13, 结束播放

二,程序编写

1, SD文件系统初始化

Labview&STM32实验:制作一个简易的音乐播放器

2, MP3模块初始化

实质是对SPI总线进行初始化

Labview&STM32实验:制作一个简易的音乐播放器

3, MP3硬件复位

有时候会出现初始化不成功的情况,所以增加一次硬件复位,用来消除VS1053芯片中的各种寄存器值,使其恢复到出厂设置值。

Labview&STM32实验:制作一个简易的音乐播放器

4, 浏览Music文件夹

设置音频文件路径和音频文件格式类型

Labview&STM32实验:制作一个简易的音乐播放器

外层while循环:循环获取音频文件路径,实现循环播放

5, 索引音频文件路径

Labview&STM32实验:制作一个简易的音乐播放器

6, 打音频文件

Labview&STM32实验:制作一个简易的音乐播放器

7, 设置音效

Labview&STM32实验:制作一个简易的音乐播放器

8, 设置播放速度

Labview&STM32实验:制作一个简易的音乐播放器

内层while循环:实时读取音频数据块进行解码播放,并且刷新播放进度条和捕捉前面板上的按键操作

9, 播放音乐并计算出播放时间长度

Labview&STM32实验:制作一个简易的音乐播放器

10, 获取播放进度

Labview&STM32实验:制作一个简易的音乐播放器

11, 快进、快退

Labview&STM32实验:制作一个简易的音乐播放器

12, 结束播放

Labview&STM32实验:制作一个简易的音乐播放器

完成的程序:

Labview&STM32实验:制作一个简易的音乐播放器

三, 编译、下载

1, 先将音乐文件拷贝到软件指定SD卡文件夹路径,或者要据SD卡来修改软件所设置的路径

2, 软件启动运行,前面板的显示

正在播放的歌曲的文件名和路径;

正在播放的进度和已播放的时间;

正在播放的歌曲总长度。

Labview&STM32实验:制作一个简易的音乐播放器

3,将耳机或音箱接上MP3模块的音频输出口,就可以听音乐了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多