JS8Call-Improved master
Loading...
Searching...
No Matches
SoundInput.h
Go to the documentation of this file.
1
5
6#ifndef SOUNDIN_H__
7#define SOUNDIN_H__
8
10
11#include <QAudioDevice>
12#include <QAudioSource>
13#include <QDateTime>
14#include <QObject>
15#include <QPointer>
16#include <QScopedPointer>
17#include <QString>
18
19
27class SoundInput : public QObject {
28 Q_OBJECT;
29
30 public:
35 SoundInput(QObject *parent = nullptr) : QObject{parent}, m_sink{nullptr} {}
36
41
49 Q_SLOT void start(QAudioDevice const &device, int framesPerBuffer,
50 AudioDevice *sink,
51 AudioDevice::Channel channel = AudioDevice::Mono);
52
56 Q_SLOT void suspend();
57
61 Q_SLOT void resume();
62
66 Q_SLOT void stop();
67
72 Q_SIGNAL void error(QString message) const;
73
78 Q_SIGNAL void status(QString message) const;
79
80 private:
85 Q_SLOT void handleStateChanged(QAudio::State) const;
86
90 bool audioError() const;
91
92 QScopedPointer<QAudioSource> m_stream;
93 QPointer<AudioDevice> m_sink;
94};
95
96#endif
Audio Device declarations for JS8Call-improved.
Abstract base class for audio devices exposed as a QIODevice.
Definition AudioDevice.h:27
Channel
Audio channel selection used by the device.
Definition AudioDevice.h:35
Q_SLOT void suspend()
Temporarily suspend audio capture without dropping the stream.
Definition SoundInput.cpp:102
Q_SLOT void stop()
Stop audio capture and release the configured sink.
Definition SoundInput.cpp:154
Q_SIGNAL void status(QString message) const
Emitted to report status messages from the capture helper.
Q_SLOT void resume()
Resume a previously suspended capture session.
Definition SoundInput.cpp:112
SoundInput(QObject *parent=nullptr)
Construct a SoundInput helper.
Definition SoundInput.h:35
Q_SLOT void start(QAudioDevice const &device, int framesPerBuffer, AudioDevice *sink, AudioDevice::Channel channel=AudioDevice::Mono)
Start capturing audio and forward it to sink.
Definition SoundInput.cpp:59
~SoundInput()
Destroy the SoundInput and release resources.
Definition SoundInput.cpp:168
Q_SIGNAL void error(QString message) const
Emitted when a non-fatal error occurs during capture.