audio_processor.h 713 B

12345678910111213141516171819202122232425
  1. #ifndef AUDIO_PROCESSOR_H
  2. #define AUDIO_PROCESSOR_H
  3. #include <string>
  4. #include <vector>
  5. #include <functional>
  6. #include "audio_codec.h"
  7. class AudioProcessor {
  8. public:
  9. virtual ~AudioProcessor() = default;
  10. virtual void Initialize(AudioCodec* codec, int frame_duration_ms) = 0;
  11. virtual void Feed(std::vector<int16_t>&& data) = 0;
  12. virtual void Start() = 0;
  13. virtual void Stop() = 0;
  14. virtual bool IsRunning() = 0;
  15. virtual void OnOutput(std::function<void(std::vector<int16_t>&& data)> callback) = 0;
  16. virtual void OnVadStateChange(std::function<void(bool speaking)> callback) = 0;
  17. virtual size_t GetFeedSize() = 0;
  18. virtual void EnableDeviceAec(bool enable) = 0;
  19. };
  20. #endif