49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
#ifndef AUDIO_H
|
|
#define AUDIO_H
|
|
|
|
#include <QMediaDevices>
|
|
#include <QAudioDevice>
|
|
#include <QAudioSource>
|
|
|
|
#include "hw/gtl_hw_device.h"
|
|
#include "hw/gtl_hw_generator_analog_input.h"
|
|
|
|
#include "hw/gtl_hw_audio_input_device.h"
|
|
|
|
#include "hw_global.h"
|
|
|
|
namespace gtl
|
|
{
|
|
namespace hw
|
|
{
|
|
class audio : public device
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit HW_EXPORT audio(int channels = 0, QAudioFormat::SampleFormat sample_format = QAudioFormat::Unknown, QObject *parent = nullptr);
|
|
virtual ~audio();
|
|
|
|
virtual QString type() const override;
|
|
|
|
virtual bool start(QString id, qreal rate) override;
|
|
virtual bool stop() override;
|
|
|
|
private:
|
|
virtual void run() override;
|
|
|
|
|
|
private:
|
|
QAudioFormat::SampleFormat _sample_format;
|
|
QAudioSource* _audio_input;
|
|
QAudioFormat _format;
|
|
audio_input_device *_audio_device;
|
|
|
|
protected slots:
|
|
virtual void save(QDomElement& root_element);
|
|
virtual void load(const QDomElement& root_element);
|
|
};
|
|
}
|
|
}
|
|
|
|
#endif // AUDIO_H
|