- Qt 5.15
- Qt Multimedia
- C++ Classes
- QAudioRecorder
- Qt 5.15.18 Reference Documentation

# QAudioRecorder Class

The QAudioRecorder class is used for the recording of audio. More...

Header: | #include <QAudioRecorder>
qmake: | QT += multimedia
Inherits: | QMediaRecorder

- List of all members, including inherited members

## Properties

- audioInput : QString

## Public Functions

| QAudioRecorder(QObject *parent = nullptr)
virtual | ~QAudioRecorder()
QString | audioInput() const
QString | audioInputDescription(const QString &name) const
QStringList | audioInputs() const
QString | defaultAudioInput() const

## Public Slots

void | setAudioInput(const QString &name)

## Signals

void | audioInputChanged(const QString &name)
void | availableAudioInputsChanged()

## Detailed Description

The QAudioRecorder class is a high level media recording class and contains the same functionality as QMediaRecorder.

     audioRecorder = new QAudioRecorder;

     QAudioEncoderSettings audioSettings;
     audioSettings.setCodec("audio/amr");
     audioSettings.setQuality(QMultimedia::HighQuality);

     audioRecorder->setEncodingSettings(audioSettings);

     audioRecorder->setOutputLocation(QUrl::fromLocalFile("test.amr"));
     audioRecorder->record();

In addition QAudioRecorder provides functionality for selecting the audio input.

     const QStringList inputs = audioRecorder->audioInputs();
     QString selectedInput = audioRecorder->defaultAudioInput();

     for (const QString &input : inputs) {
         QString description = audioRecorder->audioInputDescription(input);
         // show descriptions to user and allow selection
         selectedInput = input;
     }

     audioRecorder->setAudioInput(selectedInput);

The Audio Recorder Example shows how to use this class in more detail.

See also QMediaRecorder and QAudioInputSelectorControl.

## Property Documentation

### audioInput : QString

This property holds the active audio input name.

Access functions:

QString | audioInput() const
void | setAudioInput(const QString &name)

Notifier signal:

void | audioInputChanged(const QString &name)

## Member Function Documentation

### QAudioRecorder::QAudioRecorder(QObject *parent = nullptr)

Constructs an audio recorder. The parent is passed to QMediaObject.

### `[signal]` void QAudioRecorder::audioInputChanged(const QString &name)

Signal emitted when active audio input changes to name.

Note: Notifier signal for property audioInput.

### `[signal]` void QAudioRecorder::availableAudioInputsChanged()

Signal is emitted when the available audio inputs change.

### `[slot]` void QAudioRecorder::setAudioInput(const QString &name)

Set the active audio input to name.

Note: Setter function for property audioInput.

See also audioInput().

### `[virtual]` QAudioRecorder::~QAudioRecorder()

Destroys an audio recorder object.

### QString QAudioRecorder::audioInput() const

Returns the active audio input name.

Note: Getter function for property audioInput.

See also setAudioInput().

### QString QAudioRecorder::audioInputDescription(const QString &name) const

Returns the readable translated description of the audio input device with name.

### QStringList QAudioRecorder::audioInputs() const

Returns a list of available audio inputs

### QString QAudioRecorder::defaultAudioInput() const

Returns the default audio input name.