mirror of
https://github.com/wf-group/wfview
synced 2026-08-13 17:32:59 -04:00
37 lines
934 B
C
37 lines
934 B
C
|
|
#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
|