blob: c5efabb382897573e475f6f5295a34da796a2305 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#ifndef MP3_PLAYER_H
#define MP3_PLAYER_H
#include "AudioOutputI2SNoDAC.h"
#include "AudioGeneratorMP3.h"
#include "AudioFileSourceSD.h"
#include "AudioLogger.h"
#include "controller.h"
#include "SD.h"
#include <iostream>
enum ListMode {
SECTIONS=0,
MUSIC_FILES=1
};
class MP3List {
String *list;
int listSize = 0;
int listCurrentPosition = 0;
int countListElements(File*);
void insertElementsToList(File*);
bool canAdd(File*);
void debug();
ListMode mode;
public:
MP3List(File*, ListMode);
~MP3List();
String getCurrent();
String getNext();
String getPrevious();
};
class MP3Player : public MP3Controller {
AudioFileSourceSD *source;
AudioGeneratorMP3 *mp3;
AudioOutputI2SNoDAC *out;
MP3List *listMusicFiles;
MP3List *listSections;
String currentFolder;
float volume=2.0;
float const volumeBy = 0.3;
String rootDir = "/";
void playMP3(String);
bool updateListSections();
bool updateListMusicFiles();
String getFilePath(String);
public:
MP3Player();
~MP3Player();
void volumeUp();
void volumeDown();
void nextSection() override;
void previousSection() override;
void nextFile() override;
void previousFile() override;
void loop();
};
#endif
|