Класс QAudioDecoder
Класс QAudioDecoder позволяет декодировать аудио. Подробнее...
| Заголовок: | #include <QAudioDecoder> |
| qmake: | QT += multimedia |
| Наследует: | QMediaObject |
Этот класс находится в стадии разработки и может быть изменён.
Типы
| перечисление | Ошибка { БезОшибок, ОшибкаРесурса, ОшибкаФормата, ОшибкаДоступа, ОшибкаОтсутствияСервиса } |
| перечисление | Состояние { СостояниеОстановки, СостояниеДекодирования } |
Свойства
- bufferAvailable : const bool
- error : const QString
- имяИсходногоФайла : QString
- состояние : const State
- 1 свойство унаследовано от QMediaObject
- 1 свойство унаследовано от QObject
Открытые функции
| QAudioDecoder(QObject *parent = Q_NULLPTR) | |
| ~QAudioDecoder() | |
| QAudioFormat | audioFormat() const |
| bool | bufferAvailable() const |
| qint64 | duration() const |
| Ошибка | error() const |
| QString | описаниеОшибки() const |
| qint64 | position() const |
| QAudioBuffer | read() const |
| void | setAudioFormat(const QAudioFormat &format) |
| void | setSourceDevice(QIODevice *device) |
| void | setSourceFilename(const QString &fileName) |
| QIODevice * | sourceDevice() const |
| QString | имяИсходногоФайла() const |
| Состояние | состояние() const |
- 10 открытых функций унаследовано от QMediaObject
- 31 открытых функций унаследовано от QObject
Открытые слоты
| void | start() |
| void | stop() |
- 1 открытый слот унаследован от QObject
Сигналы
| void | bufferAvailableChanged(bool available) |
| void | bufferReady() |
| void | durationChanged(qint64 duration) |
| void | error(QAudioDecoder::Ошибка error) |
| void | finished() |
| void | formatChanged(const QAudioFormat &format) |
| void | positionChanged(qint64 position) |
| void | sourceChanged() |
| void | stateChanged(QAudioDecoder::Состояние state) |
- 6 сигналов унаследовано от QMediaObject
- 2 сигнала унаследовано от QObject
Статические открытые члены
| QMultimedia::SupportEstimate | hasSupport(const QString &mimeType, const QStringList &codecs = QStringList()) |
- 11 статических открытых членов унаследовано от QObject
Дополнительные унаследованные члены
- 2 защищённые функции унаследовано от QMediaObject
- 9 защищённых функций унаследовано от QObject
Подробное описание
Класс QAudioDecoder позволяет декодировать аудио.
Класс 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
Функции доступа:
| State | state() const |
Сигнал уведомления:
| void | stateChanged(QAudioDecoder::State state) |
Документация функций-членов
QAudioDecoder::QAudioDecoder(QObject *parent = Q_NULLPTR)
Создаёт экземпляр QAudioDecoder, родительским объектом которого является parent.
QAudioDecoder::~QAudioDecoder()
Уничтожает объект аудио-декодера.
QAudioFormat QAudioDecoder::audioFormat() const
Возвращает текущий аудио-формат декодируемого потока.
Любые возвращаемые буферы должны иметь этот формат.
См. также setAudioFormat() и formatChanged().
bool QAudioDecoder::bufferAvailable() const
Возвращает true, если буфер доступен для чтения, и false в противном случае. Если буфер недоступен, вызов функции read() вернёт некорректный буфер.
Примечание: Функция-геттер для свойства bufferAvailable.
void QAudioDecoder::bufferAvailableChanged(bool available)
Сигнализирует о доступности нового буфера (если available истинно).
Если available ложно, буферы недоступны.
Примечание: Сигнал уведомления для свойства bufferAvailable.
См. также bufferAvailable() и bufferReady().
void QAudioDecoder::bufferReady()
Сигнализирует о доступности нового декодированного аудио-буфера для чтения.
См. также read() и bufferAvailable().
qint64 QAudioDecoder::duration() const
Возвращает общую продолжительность (в миллисекундах) аудио-потока или -1, если она недоступна.
void QAudioDecoder::durationChanged(qint64 duration)
Сигнализирует о том, что оценочная продолжительность декодированных данных изменилась.
См. также positionChanged().
Error QAudioDecoder::error() const
Возвращает текущее состояние ошибки.
void QAudioDecoder::error(QAudioDecoder::Error error)
Сигнализирует о возникновении состояния ошибки.
Примечание: Сигнал error перегружен в этом классе. Чтобы подключиться к нему с помощью синтаксиса указателя на функцию, необходимо указать тип сигнала в статическом преобразовании, как показано в этом примере:
См. также errorString().
void QAudioDecoder::finished()
Сигнализирует о том, что декодирование завершилось успешно. Если декодирование завершается ошибкой, вместо этого испускается сигнал об ошибке.
См. также start(), stop() и error().
void QAudioDecoder::formatChanged(const QAudioFormat &format)
Сигнализирует о том, что текущий аудио-формат декодера изменился на format.
См. также audioFormat() и setAudioFormat().
QMultimedia::SupportEstimate QAudioDecoder::hasSupport(const QString &mimeType, const QStringList &codecs = QStringList())
Возвращает уровень поддержки аудио-декодером для mimeType и набора codecs.
qint64 QAudioDecoder::position() const
Возвращает позицию (в миллисекундах) последнего считанного буфера из декодера или -1, если буферы не считывались.
void QAudioDecoder::positionChanged(qint64 position)
Сигнализирует о том, что текущая позиция декодера изменилась.
См. также durationChanged().
QAudioBuffer QAudioDecoder::read() const
Считывает буфер из декодера, если он доступен. Возвращает некорректный буфер, если декодированных буферов нет или при ошибке. В обоих случаях функция не будет блокироваться.
Следует либо реагировать на сигнал bufferReady(), либо проверять функцию bufferAvailable() перед вызовом read(), чтобы убедиться, что вы получаете полезные данные.
void QAudioDecoder::setAudioFormat(const QAudioFormat &format)
Устанавливает желаемый аудио-формат для декодированных образцов в format.
Это свойство может быть установлено только когда декодер остановлен. Установка этого свойства в других случаях будет проигнорирована.
Если декодер не поддерживает этот формат, error() будет установлено в FormatError.
Если вы не укажете формат, будет использован формат декодированного аудио. В противном случае будет применено некоторое преобразование форматов.
Если вы хотите сбросить декодированный формат на формат исходного аудиофайла, вы можете указать некорректный формат.
См. также audioFormat().
void QAudioDecoder::setSourceDevice(QIODevice *device)
Устанавливает текущий аудио-QIODevice в device.
Когда это свойство установлено, любое текущее декодирование останавливается, а все аудио-буферы удаляются.
Вы можете указать либо имя файла источника, либо аудио-QIODevice. Установка одного отменяет другое.
См. также sourceDevice().
void QAudioDecoder::setSourceFilename(const QString &fileName)
Устанавливает текущее имя аудиофайла в fileName.
Когда это свойство установлено, любое текущее декодирование останавливается, а все аудио-буферы удаляются.
Вы можете указать либо имя файла источника, либо аудио-QIODevice. Установка одного отменяет другое.
Примечание: Функция-сеттер для свойства sourceFilename.
См. также sourceFilename().
[signal] void QAudioDecoder::sourceChanged()
Сигнализирует, что текущий источник декодера изменился.
Примечание: Сигнал уведомления для свойства sourceFilename.
См. также sourceFilename() и sourceDevice().
QIODevice *QAudioDecoder::sourceDevice() const
Возвращает текущий источник QIODevice, если он был задан. Если был вызван setSourceFilename(), это будет 0.
См. также setSourceDevice().
QString QAudioDecoder::sourceFilename() const
Возвращает текущее имя файла для декодирования. Если был вызван setSourceDevice, это будет пустая строка.
Примечание: Функция-геттер для свойства sourceFilename.
См. также setSourceFilename().
[slot] void QAudioDecoder::start()
Начинает декодирование аудиоресурса.
По мере декодирования данных, сигнал bufferReady() будет испущен, когда будет декодировано достаточно данных. Вызов read() затем вернет буфер аудио без блокировки.
Если вы вызываете read() до готовности буфера, будет возвращен недопустимый буфер, снова без блокировки.
См. также read().
[signal] void QAudioDecoder::stateChanged(QAudioDecoder::State state)
Сигнализирует изменение состояния объекта декодера на state.
Примечание: Сигнал уведомления для свойства state.
[slot] void QAudioDecoder::stop()
Останавливает декодирование аудио. Вызов start() снова возобновит декодирование с начала.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qaudiodecoder.html