Класс QAudioDecoder
Класс QAudioDecoder позволяет декодировать аудио. Подробнее...
| Заголовок: | #include <QAudioDecoder> |
| qmake: | QT += multimedia |
| Наследует: | QMediaObject |
Этот класс находится в разработке и может быть изменён.
Типы публичного интерфейса
| перечисление | Ошибка { БезОшибки, ОшибкаРесурса, ОшибкаФормата, ОшибкаДоступа, ОшибкаОтсутствияСлужбы } |
| перечисление | Состояние { СостояниеОстановлено, СостояниеДекодирования } |
Свойства
- bufferAvailable : const bool
- ошибка : const QString
- имяФайлаИсточника : QString
- состояние : const Состояние
- 1 свойство унаследовано от QMediaObject
- 1 свойство унаследовано от QObject
Функции публичного интерфейса
| QAudioDecoder(QObject *parent = nullptr) | |
| виртуальный | ~QAudioDecoder() |
| QAudioFormat | audioFormat() const |
| bool | bufferAvailable() const |
| qint64 | duration() const |
| QAudioDecoder::Ошибка | ошибка() 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 |
| QAudioDecoder::Состояние | состояние() const |
- 10 функций публичного интерфейса унаследовано от QMediaObject
- 31 функция публичного интерфейса унаследовано от QObject
Открытые слоты
| void | start() |
| void | stop() |
- 1 открытый слот унаследован от QObject
Сигналы
| void | bufferAvailableChanged(bool available) |
| void | bufferReady() |
| void | durationChanged(qint64 duration) |
| void | ошибка(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()) |
| const QMetaObject | staticMetaObject |
- 9 статических членов публичного интерфейса унаследовано от 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
Функции доступа:
| QAudioDecoder::State | state() const |
Сигнал уведомления:
| void | stateChanged(QAudioDecoder::State state) |
Документация функций-членов
QAudioDecoder::QAudioDecoder(QObject *parent = nullptr)
Создает экземпляр QAudioDecoder, родительским элементом которого является parent.
[virtual] QAudioDecoder::~QAudioDecoder()
Уничтожает объект аудиодекодера.
QAudioFormat QAudioDecoder::audioFormat() const
Возвращает текущий формат аудио потока.
Все возвращаемые буферы должны иметь этот формат.
См. также setAudioFormat() и formatChanged().
bool QAudioDecoder::bufferAvailable() const
Возвращает true, если буфер доступен для чтения, и false в противном случае. Если буфера нет, вызов функции read() вернёт недействительный буфер.
Примечание: Функция-получатель для свойства bufferAvailable.
[signal] void QAudioDecoder::bufferAvailableChanged(bool available)
Сигнализирует о доступности нового буфера (если available равно true).
Если available равно false, буферы недоступны.
Примечание: Сигнал уведомления для свойства bufferAvailable.
См. также bufferAvailable() и bufferReady().
[signal] void QAudioDecoder::bufferReady()
Сигнализирует о доступности нового декодированного буфера аудио для чтения.
См. также read() и bufferAvailable().
qint64 QAudioDecoder::duration() const
Возвращает полную продолжительность (в миллисекундах) аудиопотока или -1, если она недоступна.
[signal] void QAudioDecoder::durationChanged(qint64 duration)
Сигнализирует о том, что предполагаемая продолжительность duration декодированных данных изменилась.
См. также positionChanged().
QAudioDecoder::Error QAudioDecoder::error() const
Возвращает текущее состояние ошибки.
[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().
[static] QMultimedia::SupportEstimate QAudioDecoder::hasSupport(const QString &mimeType, const QStringList &codecs = QStringList())
Возвращает уровень поддержки аудиодекодером для mimeType и набора codecs.
qint64 QAudioDecoder::position() const
Возвращает позицию (в миллисекундах) последнего прочитанного буфера из декодера или -1, если буферы не были прочитаны.
[signal] void QAudioDecoder::positionChanged(qint64 position)
Сигнализирует о том, что текущая позиция декодера изменилась.
См. также durationChanged().
QAudioBuffer QAudioDecoder::read() const
Читает буфер из декодера, если он доступен. Возвращает недействительный буфер, если доступных декодированных буферов нет или при сбое. В обоих случаях функция не будет блокироваться.
Вы должны либо отреагировать на сигнал bufferReady(), либо проверить функцию bufferAvailable() перед вызовом read(), чтобы убедиться, что вы получаете полезные данные.
void QAudioDecoder::setAudioFormat(const QAudioFormat &format)
Устанавливает желаемый формат аудио для декодированных образцов в format.
Это свойство может быть установлено только, когда декодер остановлен. Установка этого свойства в другое время будет проигнорирована.
Если декодер не поддерживает этот формат, error() будет установлено в FormatError.
Если вы не указываете формат, будет использован формат декодированного аудио. В противном случае будет применено некоторое преобразование формата.
Если вы хотите сбросить декодированный формат на исходный формат аудиофайла, вы можете указать недействительный format.
См. также 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/qt-5.12/qaudiodecoder.html