Spec-Zone.ru › Qt 5.14

Класс QAudioDecoder

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

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

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

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

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

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

Свойства

  • bufferAvailable : const bool
  • ошибка : 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 истинно).

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

Примечание: Сигнал уведомления для свойства 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.

Примечание: Сигнал уведомления для свойства 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.

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

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

См. также 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.14/qaudiodecoder.html

Spec-Zone.ru

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