Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qaudiosource.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
5#ifndef QAUDIOINPUT_H
6#define QAUDIOINPUT_H
7
8#include <QtCore/qiodevice.h>
9
10#include <QtMultimedia/qtmultimediaglobal.h>
11
12#include <QtMultimedia/qtaudio.h>
13#include <QtMultimedia/qaudioformat.h>
14#include <QtMultimedia/qaudiodevice.h>
15
16
17QT_BEGIN_NAMESPACE
18
19class QPlatformAudioSource;
20
21class Q_MULTIMEDIA_EXPORT QAudioSource : public QObject
22{
23 Q_OBJECT
24
25public:
26 explicit QAudioSource(const QAudioFormat &format = QAudioFormat(), QObject *parent = nullptr);
27 explicit QAudioSource(const QAudioDevice &audioDeviceInfo, const QAudioFormat &format = QAudioFormat(), QObject *parent = nullptr);
28 ~QAudioSource() override;
29
30 bool isNull() const { return !d; }
31
32 QAudioFormat format() const;
33
34 void start(QIODevice *device);
35 QIODevice* start();
36
37 void stop();
38 void reset();
39 void suspend();
40 void resume();
41
42 void setBufferSize(qsizetype bytes);
43 qsizetype bufferSize() const;
44
45 void setBufferFrameCount(qsizetype frames);
46 qsizetype bufferFrameCount() const;
47
48 qsizetype bytesAvailable() const;
49 qsizetype framesAvailable() const;
50
51 void setVolume(qreal volume);
52 qreal volume() const;
53
54 qint64 processedUSecs() const;
55 qint64 elapsedUSecs() const;
56
57 QtAudio::Error error() const;
58 QtAudio::State state() const;
59
60Q_SIGNALS:
61#if defined(Q_QDOC)
62 void stateChanged(QtAudio::State state);
63#else
64 // use QAudio here to keep string-based connections working
65 void stateChanged(QAudio::State state);
66#endif
67
68private:
69 Q_DISABLE_COPY(QAudioSource)
70 friend class QPlatformAudioSource;
71
72 QPlatformAudioSource *d;
73};
74
75QT_END_NAMESPACE
76
77#endif // QAUDIOINPUT_H
The QAudioSource class provides an interface for receiving audio data from an audio input device.
static bool validateFormatAtStart(QPlatformAudioSource *d)