Spec-Zone.ru › Qt 5.13

Класс QAudioFormat

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

Заголовок: #include <QAudioFormat>
qmake: QT += multimedia
  • Список всех членов, включая унаследованные

Типы публичного доступа

Перечисление Endian { BigEndian, LittleEndian }
Перечисление SampleType { Unknown, SignedInt, UnSignedInt, Float }

Функции публичного доступа

QAudioFormat(const QAudioFormat &other)
QAudioFormat()
QAudioFormat & operator=(const QAudioFormat &other)
~QAudioFormat()
QAudioFormat::Endian byteOrder() const
qint32 bytesForDuration(qint64 duration) const
qint32 bytesForFrames(qint32 frameCount) const
int bytesPerFrame() const
int channelCount() const
QString codec() const
qint64 durationForBytes(qint32 bytes) const
qint64 durationForFrames(qint32 frameCount) const
qint32 framesForBytes(qint32 byteCount) const
qint32 framesForDuration(qint64 duration) const
bool isValid() const
int sampleRate() const
int sampleSize() const
QAudioFormat::SampleType sampleType() const
void setByteOrder(QAudioFormat::Endian byteOrder)
void setChannelCount(int channels)
void setCodec(const QString &codec)
void setSampleRate(int samplerate)
void setSampleSize(int sampleSize)
void setSampleType(QAudioFormat::SampleType sampleType)
bool operator!=(const QAudioFormat &other) const
bool operator==(const QAudioFormat &other) const

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

Формат аудиоданных задаёт способ организации данных в потоке аудиоданных, то есть, как следует интерпретировать поток. Само кодирование задаётся используемым для потока codec().

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

Параметр Описание
Частота дискретизации Образцы в секунду аудиоданных в герцах.
Количество каналов Количество аудиоканалов (обычно один для моно и два для стерео).
Размер сэмпла Сколько данных хранится в каждом образце (обычно 8 или 16 бит).
Тип сэмпла Числовое представление сэмпла (обычно знаковое целое число, беззнаковое целое число или число с плавающей точкой).
Порядок байтов Порядок байтов сэмпла (обычно little endian, big endian).

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

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

В общем случае интерлинованных данных линейного PCM кодирования, кодек будет «audio/pcm», а сэмплы для всех каналов будут интерлинованы. Один образец для каждого канала в один и тот же момент времени называется кадром в Qt Multimedia (и в других местах).

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

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

Константа Значение Описание
QAudioFormat::BigEndian QSysInfo::BigEndian Образцы имеют порядок байтов big endian
QAudioFormat::LittleEndian QSysInfo::LittleEndian Образцы имеют порядок байтов little endian

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

Константа Значение Описание
QAudioFormat::Unknown 0 Не задано
QAudioFormat::SignedInt 1 Образцы — знакомые целые числа
QAudioFormat::UnSignedInt 2 Образцы — беззнаковые целые числа
QAudioFormat::Float 3 Образцы — числа с плавающей точкой

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

QAudioFormat::QAudioFormat(const QAudioFormat &other)

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

QAudioFormat::QAudioFormat()

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

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

  • sampleRate() = -1
  • channelCount() = -1
  • sampleSize() = -1
  • byteOrder() = QAudioFormat::Endian(QSysInfo::ByteOrder)
  • sampleType() = QAudioFormat::Unknown codec() = ""

QAudioFormat &QAudioFormat::operator=(const QAudioFormat &other)

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

QAudioFormat::~QAudioFormat()

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

QAudioFormat::Endian QAudioFormat::byteOrder() const

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

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

qint32 QAudioFormat::bytesForDuration(qint64 duration) const

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

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

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

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

qint32 QAudioFormat::bytesForFrames(qint32 frameCount) const

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

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

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

int QAudioFormat::bytesPerFrame() const

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

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

int QAudioFormat::channelCount() const

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

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

QString QAudioFormat::codec() const

Возвращает текущий идентификатор кодека.

См. также setCodec() и QAudioDeviceInfo::supportedCodecs().

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 duration) const

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

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

bool QAudioFormat::isValid() const

Возвращает true, если все параметры действительны.

int QAudioFormat::sampleRate() const

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

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

int QAudioFormat::sampleSize() const

Возвращает текущее значение размера образца в битах.

См. также setSampleSize() и bytesPerFrame().

QAudioFormat::SampleType QAudioFormat::sampleType() const

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

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

void QAudioFormat::setByteOrder(QAudioFormat::Endian byteOrder)

Устанавливает byteOrder на byteOrder.

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

void QAudioFormat::setChannelCount(int channels)

Устанавливает количество каналов на channels.

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

void QAudioFormat::setCodec(const QString &codec)

Устанавливает кодек на codec.

Параметр этой функции должен быть одним из типов, возвращаемых функцией QAudioDeviceInfo::supportedCodecs() для аудиоустройства, с которым вы работаете.

См. также codec() и QAudioDeviceInfo::supportedCodecs().

void QAudioFormat::setSampleRate(int samplerate)

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

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

void QAudioFormat::setSampleSize(int sampleSize)

Устанавливает размер образца на указанный sampleSize в битах.

Обычно это 8 или 16, но некоторые системы могут поддерживать бОльшие размеры образцов.

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

void QAudioFormat::setSampleType(QAudioFormat::SampleType sampleType)

Устанавливает sampleType на sampleType.

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

bool QAudioFormat::operator!=(const QAudioFormat &other) const

Возвращает true, если этот QAudioFormat не равен other QAudioFormat; в противном случае возвращает false.

Для сравнения используются все элементы QAudioFormat.

bool QAudioFormat::operator==(const QAudioFormat &other) const

Возвращает true, если этот QAudioFormat равен other QAudioFormat; в противном случае возвращает false.

Для сравнения используются все элементы QAudioFormat.

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

Spec-Zone.ru

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