MP3 Player. You can change fwd/rev speed and skip. see: http://mbed.org/users/okini3939/notebook/lpc4088_madplayer/
Dependencies: I2SSlave SDFileSystem TLV320 mbed
player.h@0:8ba6230eefbd, 2014-02-18 (annotated)
- Committer:
- okini3939
- Date:
- Tue Feb 18 00:22:50 2014 +0000
- Revision:
- 0:8ba6230eefbd
1st build
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:8ba6230eefbd | 1 | #include "mbed.h" |
okini3939 | 0:8ba6230eefbd | 2 | #include "decoder.h" |
okini3939 | 0:8ba6230eefbd | 3 | #include "TLV320.h" |
okini3939 | 0:8ba6230eefbd | 4 | |
okini3939 | 0:8ba6230eefbd | 5 | #define FWDBUF 10 // sec |
okini3939 | 0:8ba6230eefbd | 6 | |
okini3939 | 0:8ba6230eefbd | 7 | //#define DEBUG |
okini3939 | 0:8ba6230eefbd | 8 | |
okini3939 | 0:8ba6230eefbd | 9 | #ifdef DEBUG |
okini3939 | 0:8ba6230eefbd | 10 | #define DBG(...) printf("" __VA_ARGS__) |
okini3939 | 0:8ba6230eefbd | 11 | #else |
okini3939 | 0:8ba6230eefbd | 12 | #define DBG(...) |
okini3939 | 0:8ba6230eefbd | 13 | #endif |
okini3939 | 0:8ba6230eefbd | 14 | |
okini3939 | 0:8ba6230eefbd | 15 | |
okini3939 | 0:8ba6230eefbd | 16 | struct dacout_s { |
okini3939 | 0:8ba6230eefbd | 17 | unsigned short l; |
okini3939 | 0:8ba6230eefbd | 18 | unsigned short r; |
okini3939 | 0:8ba6230eefbd | 19 | }; |
okini3939 | 0:8ba6230eefbd | 20 | |
okini3939 | 0:8ba6230eefbd | 21 | void poll (); |
okini3939 | 0:8ba6230eefbd | 22 | int init_audio (); |
okini3939 | 0:8ba6230eefbd | 23 | int command (char *cmd); |
okini3939 | 0:8ba6230eefbd | 24 | int play (char *filename); |
okini3939 | 0:8ba6230eefbd | 25 | |
okini3939 | 0:8ba6230eefbd | 26 | enum mad_flow input(void *data,struct mad_stream *stream); |
okini3939 | 0:8ba6230eefbd | 27 | enum mad_flow output(void *data,struct mad_header const *header,struct mad_pcm *pcm); |
okini3939 | 0:8ba6230eefbd | 28 | enum mad_flow error_fn(void *data,struct mad_stream *stream,struct mad_frame *frame); |