ReadAACFileThread.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. 
  2. /**
  3. * 叶海辉
  4. * QQ群121376426
  5. * http://blog.yundiantech.com/
  6. */
  7. #ifndef REAACFILETHREAD_H
  8. #define REAACFILETHREAD_H
  9. #include "AAC/AACReader.h"
  10. #include "AudioDecoder/AACDecoder.h"
  11. #include "AudioPlayer/AudioPlayer_SDL.h"
  12. #include "AudioPlayer/AudioPlayer_RtAudio.h"
  13. #include "EventHandle/AudioPlayerEventHandle.h"
  14. class ReadAACFileThread
  15. {
  16. public:
  17. ReadAACFileThread();
  18. ~ReadAACFileThread();
  19. /**
  20. * @brief setVideoPlayerCallBack 设置播放器回调函数
  21. * @param pointer
  22. */
  23. void setVideoPlayerCallBack(AudioPlayerCallBack *pointer){mAudioCallBack=pointer;}
  24. void startRead(char* filePath);
  25. std::list<AudioDevice> getAudiDeviceList();
  26. protected:
  27. void run();
  28. private:
  29. char mFileName[256];
  30. AACReader *mAACReader;
  31. AACDecoder *mAACDecoder;
  32. AudioPlayer *mAudioPlayer;
  33. ///回调函数相关,主要用于输出信息给界面
  34. private:
  35. ///回调函数
  36. AudioPlayerCallBack *mAudioCallBack;
  37. // ///显示视频数据,此函数不宜做耗时操作,否则会影响播放的流畅性。
  38. // void doDisplayVideo(const uint8_t *yuv420Buffer, const int &width, const int &height, const int &frameNum);
  39. };
  40. #endif // REAACFILETHREAD_H