dtkmultimedia
DTK Multimedia module
载入中...
搜索中...
未找到
daudioout.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DAUDIOOUT_H
6#define DAUDIOOUT_H
7#if BUILD_Qt6
8#include <QtMultimedia/QMediaCaptureSession>
9#else
10#include <QMediaObject>
11#endif
12#include <dtkmultimedia.h>
13
14DMULTIMEDIA_BEGIN_NAMESPACE
15
17{
18public:
19 QString device()
20 {
21 return m_device;
22 }
23 inline void setDevice(QString device)
24 {
25 m_device = device;
26 }
27
28private:
29 QString m_device;
30};
31class DAudioOutputPrivate;
32
33#if BUILD_Qt6
34class Q_MULTIMEDIA_EXPORT DAudioOutput : public QMediaCaptureSession
35#else
36class Q_MULTIMEDIA_EXPORT DAudioOutput : public QMediaObject
37#endif
38{
39 Q_OBJECT
40 Q_PROPERTY(DAudioDevice device READ device WRITE setDevice NOTIFY deviceChanged)
41 Q_PROPERTY(int volume READ volume WRITE setVolume NOTIFY volumeChanged)
42 Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
43 Q_DECLARE_PRIVATE(DAudioOutput)
44
45public:
46 DAudioOutput(QObject *parent = nullptr);
48 void setDevice(const DAudioDevice &device);
49 void setVolume(float volume);
50 void setMuted(bool muted);
52 float volume() const;
53 bool isMuted() const;
54
55signals:
57 void volumeChanged(float volume);
58 void mutedChanged(bool muted);
59
60protected:
61 QScopedPointer<DAudioOutputPrivate> d_ptr;
62};
63
64DMULTIMEDIA_END_NAMESPACE
65#endif
Definition daudioout.h:17
DAudioOutput类提供音频相关信息.
Definition daudioout.h:38
bool isMuted() const
获取音频静音状态.
void deviceChanged()
信号-设备信息改变.
void volumeChanged(float volume)
信号-音量值改变.
void setDevice(const DAudioDevice &device)
设置音频设备.
void setVolume(float volume)
设置音频音量值.
float volume() const
获取音频音量值.
void setMuted(bool muted)
设置音频静音状态.
DAudioDevice device() const
获取音频设备对象.
void mutedChanged(bool muted)
信号-静音状态改变.