Spec-Zone.ru › Qt

Класс QAudioFormat

Класс QAudioFormat хранит информацию о параметрах потока аудиоданных. Подробнее...

Заголовок: #include <QAudioFormat>
CMake: find_package(Qt6 COMPONENTS Multimedia REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
  • Список всех членов, включая унаследованные

Публичные типы

Перечисление AudioChannelPosition { UnknownPosition, FrontLeft, FrontRight, FrontCenter, LFE, …, BottomFrontRight }
Перечисление ChannelConfig { ChannelConfigUnknown, ChannelConfigMono, ChannelConfigStereo, ChannelConfig2Dot1, ChannelConfigSurround5Dot0, …, ChannelConfigSurround7Dot1 }
Перечисление SampleFormat { Unknown, UInt8, Int16, Int32, Float }

Публичные функции

QAudioFormat(const QAudioFormat &other)
QAudioFormat()
QAudioFormat & operator=(const QAudioFormat &other)
~QAudioFormat()
qint32 bytesForDuration(qint64 microseconds) const
qint32 bytesForFrames(qint32 frameCount) const
int bytesPerFrame() const
int bytesPerSample() const
QAudioFormat::ChannelConfig channelConfig() const
int channelCount() const
int channelOffset(QAudioFormat::AudioChannelPosition channel) const
qint64 durationForBytes(qint32 bytes) const
qint64 durationForFrames(qint32 frameCount) const
qint32 framesForBytes(qint32 byteCount) const
qint32 framesForDuration(qint64 microseconds) const
bool isValid() const
float normalizedSampleValue(const void *sample) const
QAudioFormat::SampleFormat sampleFormat() const
int sampleRate() const
void setChannelConfig(QAudioFormat::ChannelConfig config)
void setChannelCount(int channels)
void setSampleFormat(QAudioFormat::SampleFormat format)
void setSampleRate(int samplerate)

Подробное описание

Формат аудиоданных определяет, как организованы данные в потоке аудиоданных. Например, как интерпретировать поток.

QAudioFormat содержит параметры, определяющие, как организованы данные образцов аудиоданных. Это частота, количество каналов и формат образца. В следующей таблице эти параметры описаны более подробно.

Параметр Описание
Частота дискретизации Образцы в секунду аудиоданных в Герцах.
Количество каналов Количество аудиоканалов (обычно один для моно или два для стерео). Это количество последовательных образцов, которые вместе образуют один кадр в потоке.
Формат образца Формат аудиообразцов в потоке.

Этот класс используется совместно с QAudioSource или QAudioSink, чтобы позволить вам указать параметры потока аудиоданных, который читается или записывается, или с QAudioBuffer, когда вы работаете с образцами в памяти.

Образцы для всех каналов будут чередующимися. Один образец для каждого канала для одного и того же момента во времени называется кадром в Qt Multimedia (и других местах).

Вы можете получить форматы аудиоданных, совместимые с используемым аудиоустройством, с помощью функций в QAudioDevice. Этот класс также позволяет вам запросить доступные значения параметров для устройства, так что вы можете сами задать параметры. См. описание класса QAudioDevice для получения подробной информации. Вам необходимо знать формат аудиопотоков, которые вы хотите воспроизвести или записать.

Документация по типу члена

Перечисление QAudioFormat::AudioChannelPosition

Описание возможных позиций аудиоканалов. Они следуют стандартному определению, используемому в конфигурации 22.2 окружающего звука.

Постоянная Значение Описание
QAudioFormat::UnknownPosition 0 Неизвестное положение
QAudioFormat::FrontLeft 1
QAudioFormat::FrontRight 2
QAudioFormat::FrontCenter 3
QAudioFormat::LFE 4 Канал низкочастотных эффектов (сабвуфер)
QAudioFormat::BackLeft 5
QAudioFormat::BackRight 6
QAudioFormat::FrontLeftOfCenter 7
QAudioFormat::FrontRightOfCenter 8
QAudioFormat::BackCenter 9
QAudioFormat::LFE2 10
QAudioFormat::SideLeft 11
QAudioFormat::SideRight 12
QAudioFormat::TopFrontLeft 13
QAudioFormat::TopFrontRight 14
QAudioFormat::TopFrontCenter 15
QAudioFormat::TopCenter 16
QAudioFormat::TopBackLeft 17
QAudioFormat::TopBackRight 18
QAudioFormat::TopSideLeft 19
QAudioFormat::TopSideRight 20
QAudioFormat::TopBackCenter 21
QAudioFormat::BottomFrontCenter 22
QAudioFormat::BottomFrontLeft 23
QAudioFormat::BottomFrontRight 24

Константы перечисления QAudioFormat::ChannelConfig

Это перечисление описывает стандартизованную компоновку каналов аудио. Наиболее распространенные конфигурации — Mono, Stereo, 2.1 (стерео плюс низкочастотный эффект), 5.1 Surround и 7.1 Surround.

Постоянная Значение Описание
QAudioFormat::ChannelConfigUnknown 0 Конфигурация канала неизвестна.
QAudioFormat::ChannelConfigMono QtPrivate::channelConfig(FrontCenter) Аудио содержит один центральный канал.
QAudioFormat::ChannelConfigStereo QtPrivate::channelConfig(FrontLeft, FrontRight) Аудио содержит два канала, левый и правый.
QAudioFormat::ChannelConfig2Dot1 QtPrivate::channelConfig(FrontLeft, FrontRight, LFE) Аудио содержит три канала: левый, правый и LFE (низкочастотный эффект).
QAudioFormat::ChannelConfigSurround5Dot0 QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight) Аудио содержит пять каналов: левый, правый, центральный, задний левый, задний правый.
QAudioFormat::ChannelConfigSurround5Dot1 QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight) Аудио содержит 6 каналов: левый, правый, центральный, LFE, задний левый и задний правый.
QAudioFormat::ChannelConfigSurround7Dot0 QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, BackLeft, BackRight, SideLeft, SideRight) Аудио содержит 7 каналов: левый, правый, центральный, задний левый, задний правый, боковой левый и боковой правый.
QAudioFormat::ChannelConfigSurround7Dot1 QtPrivate::channelConfig(FrontLeft, FrontRight, FrontCenter, LFE, BackLeft, BackRight, SideLeft, SideRight) Аудио содержит 8 каналов: левый, правый, центральный, LFE, задний левый, задний правый, боковой левый и боковой правый.

Константы перечисления QAudioFormat::SampleFormat

Qt всегда будет ожидать и использовать образцы в порядке байтов целевой платформы. При обработке аудиоданных из внешних источников убедитесь, что вы конвертируете их в правильный порядок байтов перед записью в QAudioSink или QAudioBuffer.

Постоянная Значение Описание
QAudioFormat::Unknown 0 Не задано
QAudioFormat::UInt8 1 Образцы — целые числа со знаком 8 бит без знака.
QAudioFormat::Int16 2 Образцы — целые числа со знаком 16 бит.
QAudioFormat::Int32 3 Образцы — целые числа со знаком 32 бит.
QAudioFormat::Float 4 Образцы — числа с плавающей запятой.

Документация по функциям-членам

[default] QAudioFormat::QAudioFormat(const QAudioFormat &other)

Создаёт новый формат аудио, используя other.

[default] QAudioFormat::QAudioFormat()

Создаёт новый формат аудио.

Значения инициализируются следующим образом:

  • sampleRate() = 0
  • channelCount() = 0
  • sampleFormat() = QAudioFormat::Unknown

[default] QAudioFormat &QAudioFormat::operator=(const QAudioFormat &other)

Присваивает other данному объекту QAudioFormat.

[default] QAudioFormat::~QAudioFormat()

Уничтожает этот формат аудио.

qint32 QAudioFormat::bytesForDuration(qint64 microseconds) const

Возвращает количество байтов, необходимых для этого формата аудио за microseconds.

Возвращает 0, если формат недействителен.

Обратите внимание, что может произойти некоторое округление, если microseconds не является точной дробью sampleRate().

См. также durationForBytes().

qint32 QAudioFormat::bytesForFrames(qint32 frameCount) const

Возвращает количество байтов, необходимых для frameCount кадров этого формата.

Возвращает 0, если формат недействителен.

См. также bytesForDuration().

int QAudioFormat::bytesPerFrame() const

Возвращает количество байтов, необходимых для представления одного кадра (образца в каждом канале) в этом формате.

Возвращает 0, если формат недействителен.

int QAudioFormat::bytesPerSample() const

Возвращает количество байтов, необходимых для представления одного образца в этом формате.

Возвращает 0, если формат недействителен.

QAudioFormat::ChannelConfig QAudioFormat::channelConfig() const

Возвращает текущую конфигурацию канала.

int QAudioFormat::channelCount() const

Возвращает текущее значение количества каналов.

См. также setChannelCount().

END_OF_DOCUMENT_MARKER ```

int QAudioFormat::channelOffset(QAudioFormat::AudioChannelPosition channel) const

Возвращает позицию определённого аудиоканала внутри аудиокадра для заданного формата. Возвращает -1, если канала не существует для этого формата или конфигурация каналов неизвестна.

qint64 QAudioFormat::durationForBytes(qint32 bytes) const

Возвращает количество микросекунд, представленных bytes в этом формате.

Возвращает 0, если этот формат недействителен.

Обратите внимание, что может произойти некоторое округление, если bytes не является точным кратным количеству байтов на кадр.

См. также bytesForDuration().

qint64 QAudioFormat::durationForFrames(qint32 frameCount) const

Возвращает количество микросекунд, представленных frameCount кадрами в этом формате.

qint32 QAudioFormat::framesForBytes(qint32 byteCount) const

Возвращает количество кадров, представленных byteCount в этом формате.

Обратите внимание, что может произойти некоторое округление, если byteCount не является точным кратным количеству байтов на кадр.

Каждый кадр содержит по одному образцу на канал.

См. также framesForDuration().

qint32 QAudioFormat::framesForDuration(qint64 microseconds) const

Возвращает количество кадров, необходимых для представления microseconds в этом формате.

Обратите внимание, что может произойти некоторое округление, если microseconds не является точной долей sampleRate().

bool QAudioFormat::isValid() const

Возвращает true если все параметры допустимы.

float QAudioFormat::normalizedSampleValue(const void *sample) const

Нормализует значение sample до числа между -1 и 1. Метод зависит от QaudioFormat.

QAudioFormat::SampleFormat QAudioFormat::sampleFormat() const

Возвращает текущий формат образцов.

См. также setSampleFormat().

int QAudioFormat::sampleRate() const

Возвращает текущую частоту дискретизации в Герцах.

См. также setSampleRate().

void QAudioFormat::setChannelConfig(QAudioFormat::ChannelConfig config)

Устанавливает конфигурацию каналов на config.

Устанавливает конфигурацию каналов аудиоформата на одну из стандартных конфигураций аудиоканалов.

Примечание: это также изменит количество каналов.

См. также channelConfig().

void QAudioFormat::setChannelCount(int channels)

Устанавливает количество каналов на channels. Установка этого также устанавливает конфигурацию каналов на ChannelConfigUnknown.

См. также channelCount().

void QAudioFormat::setSampleFormat(QAudioFormat::SampleFormat format)

Устанавливает формат образцов на format.

См. также sampleFormat() и QAudioFormat::SampleFormat.

void QAudioFormat::setSampleRate(int samplerate)

Устанавливает частоту дискретизации на samplerate в Герцах.

См. также sampleRate().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qaudioformat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API