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
qaudiosink.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 QAUDIOOUTPUT_H
6#define QAUDIOOUTPUT_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
19
20
21class QPlatformAudioSink;
22
23class Q_MULTIMEDIA_EXPORT QAudioSink : public QObject
24{
25 Q_OBJECT
26
27public:
28 explicit QAudioSink(const QAudioFormat &format = QAudioFormat(), QObject *parent = nullptr);
29 explicit QAudioSink(const QAudioDevice &audioDeviceInfo, const QAudioFormat &format = QAudioFormat(), QObject *parent = nullptr);
30 ~QAudioSink() override;
31
32 bool isNull() const { return !d; }
33
34 QAudioFormat format() const;
35
36 void start(QIODevice *device);
37 QIODevice* start();
38
39 void stop();
40 void reset();
41 void suspend();
42 void resume();
43
44 void setBufferSize(qsizetype bytes);
45 qsizetype bufferSize() const;
46
47 void setBufferFrameCount(qsizetype framesCount);
48 qsizetype bufferFrameCount() const;
49
50 qsizetype bytesFree() const;
51 qsizetype framesFree() const;
52
53 qint64 processedUSecs() const;
54 qint64 elapsedUSecs() const;
55
56 QtAudio::Error error() const;
57 QtAudio::State state() const;
58
59 void setVolume(qreal);
60 qreal volume() const;
61
62Q_SIGNALS:
63#if defined(Q_QDOC)
64 void stateChanged(QtAudio::State state);
65#else
66 // use QAudio here to keep string-based connections working
67 void stateChanged(QAudio::State state);
68#endif
69
70private:
71 Q_DISABLE_COPY(QAudioSink)
72
73 friend class QPlatformAudioSink;
74 QPlatformAudioSink *d;
75};
76
77QT_END_NAMESPACE
78
79#endif // QAUDIOOUTPUT_H
The QAudioSink class provides an interface for sending audio data to an audio output device.
Definition qaudiosink.h:24
static bool validateFormatAtStart(QPlatformAudioSink *d)