16 #ifndef ALEXA_CLIENT_SDK_DIAGNOSTICS_INCLUDE_DIAGNOSTICS_AUDIOINJECTORMICROPHONE_H_ 17 #define ALEXA_CLIENT_SDK_DIAGNOSTICS_INCLUDE_DIAGNOSTICS_AUDIOINJECTORMICROPHONE_H_ 31 namespace diagnostics {
43 static std::unique_ptr<AudioInjectorMicrophone>
create(
44 const std::shared_ptr<avsCommon::avs::AudioInputStream>& stream,
60 void injectAudio(
const std::vector<uint16_t>& audioData);
75 const std::shared_ptr<avsCommon::avs::AudioInputStream>& stream,
81 void resetAudioInjection();
99 const std::shared_ptr<avsCommon::avs::AudioInputStream> m_audioInputStream;
105 std::shared_ptr<avsCommon::avs::AudioInputStream::Writer> m_writer;
114 unsigned int m_maxSampleCountPerTimeout;
117 alexaClientSDK::avsCommon::avs::AudioInputStream::Buffer m_silenceBuffer;
120 std::vector<uint16_t> m_injectionData;
123 unsigned long m_injectionDataCounter;
129 #endif // ALEXA_CLIENT_SDK_DIAGNOSTICS_INCLUDE_DIAGNOSTICS_AUDIOINJECTORMICROPHONE_H_ void injectAudio(const std::vector< uint16_t > &audioData)
bool stopStreamingMicrophoneData() override
~AudioInjectorMicrophone()
This represents a microphone which injects audio data into the shared data stream.
Definition: AudioInjectorMicrophone.h:34
bool isStreaming() override
Timer to schedule task for delayed and periodic execution.
Definition: Timer.h:39
static std::unique_ptr< AudioInjectorMicrophone > create(const std::shared_ptr< avsCommon::avs::AudioInputStream > &stream, const alexaClientSDK::avsCommon::utils::AudioFormat &compatibleAudioFormat)
bool startStreamingMicrophoneData() override
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
This acts as an interface to record audio input from a microphone.
Definition: MicrophoneInterface.h:28