dtkmultimedia
DTK Multimedia module
载入中...
搜索中...
未找到
daudiorecorder.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DAUDIORECORDER_H
6#define DAUDIORECORDER_H
7
8#include <QUrl>
9#if BUILD_Qt6
10#include <QtMultimedia/QMediaRecorder>
11#include <QtMultimedia/QMediaCaptureSession>
12#else
13#include <QAudioRecorder>
14#endif
15#include <dtkmultimedia.h>
16DMULTIMEDIA_BEGIN_NAMESPACE
17
18class DAudioRecorderPrivate;
19#if BUILD_Qt6
20class Q_MULTIMEDIA_EXPORT DAudioRecorder : public QMediaRecorder
21#else
22class Q_MULTIMEDIA_EXPORT DAudioRecorder : public QAudioRecorder
23#endif
24{
25 Q_OBJECT
26 Q_DECLARE_PRIVATE(DAudioRecorder)
27
28public:
29 enum ACodecID {
30 CODEC_ID_NO,
31 CODEC_ID_AAC,
32 CODEC_ID_MP3,
33 CODEC_ID_AC3,
34 };
35
36 enum AChannelsID {
37 CHANNELS_ID_MONO = 1,
38 CHANNELS_ID_STEREO,
39 };
40
41public:
42 DAudioRecorder(QObject *parent = nullptr);
44
45 ACodecID codec() const;
46 void setCodec(const ACodecID &codec);
47
48 int bitRate() const;
49 void setBitRate(int bitrate);
50
51 AChannelsID channelCount() const;
52 void setChannelCount(AChannelsID channels);
53
54 int sampleRate() const;
55 void setSampleRate(int rate);
56
57 QString audioInput() const;
58 void setAudioInput(const QString &name);
59
60 QUrl outputLocation() const;
61 bool setOutputLocation(const QUrl &location);
62
63#if BUILD_Qt6
64 // enum State
65 // {
66 // StoppedState,
67 // RecordingState,
68 // PausedState
69 // };
70 // Qt6由State改为RecorderState
71 QMediaRecorder::RecorderState state() const;
72#else
73 State state() const;
74#endif
75
76public Q_SLOTS:
77 void record();
78 void pause();
79 void stop();
80
81protected:
82 QScopedPointer<DAudioRecorderPrivate> d_ptr;
83};
84
85DMULTIMEDIA_END_NAMESPACE
86
87#endif // DAUDIORECORDER_H
DAudioRecorder类提供录音相关接口.
Definition daudiorecorder.h:24
void setBitRate(int bitrate)
设置音频比特率.
int bitRate() const
获取音频比特率.
bool setOutputLocation(const QUrl &location)
设置输出文件路径.
QUrl outputLocation() const
获取音频输出信息.
AChannelsID channelCount() const
获取音频通道值.
void setChannelCount(AChannelsID channels)
设置录音通道数.
QString audioInput() const
获取音频设备.
State state() const
获取当前状态.
ACodecID codec() const
获取音频编码.
void setCodec(const ACodecID &codec)
设置音频编码.
void setSampleRate(int rate)
设置录音采样率.
int sampleRate() const
获取音频采样率.
void setAudioInput(const QString &name)
设置音频设备.