Fireduino

拥有双核Cortex-M3处理器,集成高质量音频Codec和WiFi模组,拥有良好的IOT扩展性能,完美兼容Arduino IDE和Arduino标准接口,并支持FireBlock图形化编程软件,是一款首选的编程启蒙教学平台,更是一款开源的创意原型平台。

Fireduino Audio 播放TF中的音乐

更新时间:2017-08-08 阅读:13988

Fireduino Audio

Fireduino 内部集成了HIFI级高质量的音频解码器、专业的硬件MP3解码加速器、硬件低损耗音频解码加速器和丰富的外设,支持WI-FI协议,支持24bits 192k Hz 采样率、低损耗、低功耗的音频解码。
Fireduino 支持播放在SD卡以及网络上的音频文件,解码格式支持APE/FLAC/WAV/MP3/WMA/AAC/OGG;

Fireduino Audio 库

Fireduino在音频解码方面非常优秀,使用Audio库中的API可以让用户更简单易用的进行音频开发。Fireduino提供了音频接口如下图:

Earphone jack.jpg

FireDuino audio.jpg

Fireduino Audio 播放TF中的音乐

本案例演示如何在Fireduino 播放TF内的音乐文件,每隔一定时间判断是否播放完毕后继续循环播放。

硬件要求

1.Fireduino board
2.TF Card
3.音乐文件

代码

开始之前

使用Audio与TF Card 之前,首先得包含Audio与TF库头文件

#include "TF.h"
#include "Audio.h"

setup()

1.初始化串口,以便后续打印调试信息。
2.初始化TF卡,后续需从TF卡读取音乐文件用于解码。
3.初始化Audio,并且用AUDIO_SD 方式。
4.如果初始化Audio 成功,播放MP3文件。

void setup() {
	Serial.begin(115200);
	Serial.print("\r\narduino setup ...\r\n");
	if(!SD.begin())
	{
		Serial.println("sd init err\r\n");
		while(1);
	}
	Audio.begin(AUDIO_SD);
	if(Audio)
	{
		Audio.playFile("\\4.MP3");
	}
}

loop()

1.获取Audio状态机状态。
2.判断状态为解码停止状态。
3.如果为停止状态,继续解码指定文件。

void loop() {
	Serial.println("loop");
	delay(2000);
	if(Audio.getStatus() == AudioStop)
	{
		Audio.playFile("\\3.MP3");
	}
}

示例程序 -- 播放TF中的音乐

#include <Arduino.h>
#include "TF.h"
#include "Audio.h"
void setup() {
	Serial.begin(115200);
	Serial.print("\r\narduino setup ...\r\n");
	if(!SD.begin())
	{
		Serial.println("sd init err\r\n");
		while(1);
	}
	Audio.begin(AUDIO_SD);
	if(Audio)
	{
		Audio.playFile("\\4.MP3");
	}
}
void loop() {
	Serial.println("loop");
	delay(2000);
	if(Audio.getStatus() == AudioStop)
	{
		Audio.playFile("\\3.MP3");
	}
}