Spec-Zone.ru › Qt 5.13

Класс QAudioDecoder

Класс QAudioDecoder позволяет декодировать аудио. Подробнее...

Заголовок: #include <QAudioDecoder>
qmake: QT += multimedia
Наследует: QMediaObject

Этот класс находится в разработке и может быть изменён.

  • Список всех членов, включая унаследованные

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

перечисление Ошибка { НетОшибки, ОшибкаРесурса, ОшибкаФормата, ОшибкаДоступа, ОшибкаОтсутствияСервиса }
перечисление Состояние { СостояниеОстановки, СостояниеДекодирования }

Свойства

  • bufferAvailable : const bool
  • error : const QString
  • имяИсходногоФайла : QString
  • состояние : const State

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

QAudioDecoder(QObject *parent = nullptr)
virtual ~QAudioDecoder()
QAudioFormat формаАудио() const
bool буферДоступен() const
qint64 длительность() const
QAudioDecoder::Ошибка ошибка() const
QString описаниеОшибки() const
qint64 позиция() const
QAudioBuffer читать() const
void установитьФорматАудио(const QAudioFormat &format)
void установитьУстройствоИсточника(QIODevice *device)
void установитьИмяИсходногоФайла(const QString &fileName)
QIODevice * устройствоИсточника() const
QString имяИсходногоФайла() const
QAudioDecoder::Состояние состояние() const

Свойства публичного доступа

void начать()
void остановить()

Сигналы

void изменилосьДоступностьБуфера(bool available)
void буферГотов()
void измениласьДлительность(qint64 duration)
void ошибка(QAudioDecoder::Ошибка error)
void завершено()
void изменилсяФормат(const QAudioFormat &format)
void измениласьПозиция(qint64 position)
void изменилсяИсточник()
void изменилосьСостояние(QAudioDecoder::Состояние state)

Статические члены публичного доступа

QMultimedia::SupportEstimate естьПоддержка(const QString &mimeType, const QStringList &codecs = QStringList())

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

Класс QAudioDecoder — это класс высокого уровня для декодирования локальных аудиомедиа-файлов. Он похож на класс QMediaPlayer, за исключением того, что аудио предоставляется через этот API, а не маршрутизируется непосредственно на аудиооборудование, и не поддерживаются плейлисты, сетевые и потоковые медиа.

См. также QAudioBuffer.

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

перечисление QAudioDecoder::Ошибка

Определяет условие ошибки медиаплеера.

Постоянная Значение Описание
QAudioDecoder::NoError 0 Ошибка не произошла.
QAudioDecoder::ResourceError 1 Ресурс медиа не удалось разрешить.
QAudioDecoder::FormatError 2 Формат ресурса медиа не поддерживается.
QAudioDecoder::AccessDeniedError 3 Нет соответствующих разрешений для воспроизведения ресурса медиа.
QAudioDecoder::ServiceMissingError 4 Не найден допустимый сервис воспроизведения, воспроизведение невозможно продолжить.

перечисление QAudioDecoder::Состояние

Определяет текущее состояние медиаплеера.

Постоянная Значение Описание
QAudioDecoder::StoppedState 0 Декодер не декодирует. Декодирование начнется с начала медиа.
QAudioDecoder::DecodingState 1 Аудиоплеер в данный момент декодирует медиа.

Документация по свойствам

bufferAvailable : const bool

Это свойство указывает, доступен ли декодированный буфер аудиоданных.

Функции доступа:

bool bufferAvailable() const

Сигнал уведомления:

void bufferAvailableChanged(bool available)

error : const QString

Это свойство содержит строку, описывающую последнее состояние ошибки.

Функции доступа:

QString errorString() const

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

sourceFilename : QString

Это свойство содержит имя активного файла, декодируемого объектом декодера.

Функции доступа:

QString sourceFilename() const
void setSourceFilename(const QString &fileName)

Сигнал уведомления:

void sourceChanged()

state : const State

Это свойство содержит состояние воспроизведения аудиодекодера.

По умолчанию это свойство равно QAudioDecoder::Stopped

Функции доступа:

QAudioDecoder::State state() const

Сигнал уведомления:

void stateChanged(QAudioDecoder::State state)

См. также start() и stop().

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

QAudioDecoder::QAudioDecoder(QObject *parent = nullptr)

Создает экземпляр QAudioDecoder, родительским элементом которого является parent.

[signal] void QAudioDecoder::bufferAvailableChanged(bool available)

Сигнализирует о доступности нового буфера (если available равно true).

Если available равно false, буферы недоступны.

Примечание: Сигнал уведомления для свойства bufferAvailable.

См. также bufferAvailable() и bufferReady().

[signal] void QAudioDecoder::bufferReady()

Сигнализирует о том, что новый декодированный буфер аудиоданных готов к чтению.

См. также read() и bufferAvailable().

[signal] void QAudioDecoder::durationChanged(qint64 duration)

Сигнализирует о том, что оценочная duration декодированных данных изменилась.

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

[signal] void QAudioDecoder::error(QAudioDecoder::Error error)

Сигнализирует о возникновении ошибки error.

Примечание: Сигнал error перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя функции Qt предоставляет удобную функцию получения указателя на функцию, как показано в этом примере:

connect(audioDecoder, QOverload<QAudioDecoder::Error>::of(&QAudioDecoder::error),
    [=](QAudioDecoder::Error error){ /* ... */ });

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

[signal] void QAudioDecoder::finished()

Сигнализирует об успешном завершении декодирования. В случае неудачи декодирования вместо этого будет отправлен сигнал об ошибке.

См. также start(), stop() и error().

[signal] void QAudioDecoder::formatChanged(const QAudioFormat &format)

Сигнализирует о том, что текущий формат аудиодекодера изменился на format.

См. также audioFormat() и setAudioFormat().

[signal] void QAudioDecoder::positionChanged(qint64 position)

Сигнализирует о том, что текущая position декодера изменилась.

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

[signal] void QAudioDecoder::sourceChanged()

Сигнализирует о том, что текущий источник декодера изменился.

Примечание: Сигнал уведомления для свойства sourceFilename.

См. также sourceFilename() и sourceDevice().

[slot] void QAudioDecoder::start()

Запускает декодирование аудиоресурса.

По мере декодирования данных сигнал bufferReady() будет отправляться, когда будет декодировано достаточно данных. Вызов read() затем вернет буфер аудиоданных без блокировки.

Если вы вызываете read() до готовности буфера, будет возвращен недействительный буфер без блокировки.

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

[signal] void QAudioDecoder::stateChanged(QAudioDecoder::State state)

Сигнализирует об изменении состояния объекта декодера.

Примечание: Сигнал уведомления для свойства state.

[slot] void QAudioDecoder::stop()

Останавливает декодирование аудио. Вызов start() снова возобновит декодирование с начала.

[virtual] QAudioDecoder::~QAudioDecoder()

Удаляет объект аудиодекодера.

QAudioFormat QAudioDecoder::audioFormat() const

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

Все возвращаемые буферы должны иметь этот формат.

См. также setAudioFormat() и formatChanged().

bool QAudioDecoder::bufferAvailable() const

Возвращает true, если буфер доступен для чтения, и false в противном случае. Если буфера нет, вызов функции read() вернет недействительный буфер.

Примечание: Функция-получатель для свойства bufferAvailable.

qint64 QAudioDecoder::duration() const

Возвращает общее время (в миллисекундах) аудиопотока или -1, если оно недоступно.

QAudioDecoder::Error QAudioDecoder::error() const

Возвращает текущее состояние ошибки.

[static] QMultimedia::SupportEstimate QAudioDecoder::hasSupport(const QString &mimeType, const QStringList &codecs = QStringList())

Возвращает уровень поддержки аудиодекодером для mimeType и набора codecs.

qint64 QAudioDecoder::position() const

Возвращает позицию (в миллисекундах) последнего считанного буфера из декодера или -1, если буферы не были считаны.

QAudioBuffer QAudioDecoder::read() const

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

Вы должны либо отреагировать на сигнал bufferReady(), либо проверить функцию bufferAvailable() перед вызовом read(), чтобы убедиться, что вы получаете полезные данные.

void QAudioDecoder::setAudioFormat(const QAudioFormat &format)

Устанавливает желаемый формат аудио для декодированных образцов в format.

Это свойство может быть установлено только в состоянии остановки декодера. Установка этого свойства в других состояниях будет проигнорирована.

Если декодер не поддерживает этот формат, ошибка() будет установлена в FormatError.

Если вы не укажете формат, будет использован формат декодированного аудио. В противном случае будет применено некоторое преобразование формата.

Если вы хотите сбросить формат декодированного аудио на формат исходного аудиофайла, вы можете указать недействительный параметр format.

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

void QAudioDecoder::setSourceDevice(QIODevice *device)

Устанавливает текущее аудио QIODevice в device.

При установке этого свойства любая текущая декодировка останавливается, а все аудио-буферы удаляются.

Вы можете указать либо имя исходного файла, либо исходный QIODevice. Установка одного из них приведет к сбросу другого.

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

void QAudioDecoder::setSourceFilename(const QString &fileName)

Устанавливает текущее имя аудиофайла в fileName.

При установке этого свойства любая текущая декодировка останавливается, а все аудио-буферы удаляются.

Вы можете указать либо имя исходного файла, либо исходный QIODevice. Установка одного из них приведет к сбросу другого.

Примечание: Функция-установщик для свойства sourceFilename.

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

QIODevice *QAudioDecoder::sourceDevice() const

Возвращает текущий исходный QIODevice, если он был установлен. Если была вызвана setSourceFilename(), это будет 0.

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

QString QAudioDecoder::sourceFilename() const

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

Примечание: Функция-получатель для свойства sourceFilename.

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

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

Spec-Zone.ru

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