00001
00002
00003
00004
00005
00006 #ifndef H_FLASHMP3_JE
00007 #define H_FLASHMP3_JE
00008
00009 #include "FBase.h"
00010 #include <stdio.h>
00011 #include <vector>
00012
00013 class FlashMP3Encoder
00014 {
00015 public:
00016 FlashMP3Encoder(const char *filename, int FrameRate);
00017 ~FlashMP3Encoder();
00018
00019 UWORD WriteDefineTag(std::ostream &out);
00020
00021 void WriteHeader(std::ostream &out);
00022 void WriteStream(std::ostream &out);
00023
00024 private:
00025 int GetMp3FrameSize (char *szMp3File, long *pnFrameSize, long *pnPCMFrameSize);
00026 int ReadMp3Frame (FILE *fp, char *lpData, long *pnSize);
00027 int SeekToNextValidHeader (FILE *fp, int &layer, int &ver, int &freq, int &stereo, int &rate);
00028
00029 std::vector<char *> m_frameData;
00030 std::vector<UDWORD> m_sizes;
00031
00032 bool m_done;
00033 long m_delay;
00034 unsigned long m_pos;
00035 int m_frameRate;
00036 int m_layer;
00037 int m_ver;
00038 int m_freq;
00039 int m_stereo;
00040 int m_rate;
00041 long m_frame;
00042 long pcmFrameSize;
00043 };
00044
00045 #endif