12345678910111213141516171819202122232425 |
- #ifndef WAKE_WORD_H
- #define WAKE_WORD_H
- #include <string>
- #include <vector>
- #include <functional>
- #include "audio_codec.h"
- class WakeWord {
- public:
- virtual ~WakeWord() = default;
-
- virtual bool Initialize(AudioCodec* codec) = 0;
- virtual void Feed(const std::vector<int16_t>& data) = 0;
- virtual void OnWakeWordDetected(std::function<void(const std::string& wake_word)> callback) = 0;
- virtual void Start() = 0;
- virtual void Stop() = 0;
- virtual size_t GetFeedSize() = 0;
- virtual void EncodeWakeWordData() = 0;
- virtual bool GetWakeWordOpus(std::vector<uint8_t>& opus) = 0;
- virtual const std::string& GetLastDetectedWakeWord() const = 0;
- };
- #endif
|