wfview/include/audiohandlerqtinput.h

37 lines
934 B
C
Raw Permalink Normal View History

#ifndef AUDIOHANDLERQTINPUT_H
#define AUDIOHANDLERQTINPUT_H
#include "audiohandlerbase.h"
class audioHandlerQtInput : public audioHandlerBase
{
Q_OBJECT
public:
explicit audioHandlerQtInput(QObject* parent = nullptr) : audioHandlerBase(parent) {}
~audioHandlerQtInput() override { dispose(); } // ensure close on destruction
QString role() const override { return QStringLiteral("Input"); }
protected:
bool openDevice() noexcept override;
void closeDevice() noexcept override;
virtual QAudioFormat getNativeFormat() override;
virtual bool isFormatSupported(QAudioFormat f) override;
private:
#if (QT_VERSION < QT_VERSION_CHECK(6,0,0))
QAudioInput* audioInput {nullptr};
#else
QAudioSource* audioInput {nullptr};
#endif
QIODevice* audioDevice {nullptr};
private slots:
void onReadyRead();
void onConverted(audioPacket pkt);
};
#endif // AUDIOHANDLERQTINPUT_H