Класс QAudioDecoder
Класс QAudioDecoder позволяет декодировать аудио. Подробнее...
| Заголовок: | #include <QAudioDecoder> |
| qmake: | QT += multimedia |
| Наследует: | QMediaObject |
Этот класс находится в разработке и может быть изменён.
Открытые типы
| перечисление | Ошибка { НетОшибки, ОшибкаРесурса, ОшибкаФормата, ОшибкаДоступа, ОшибкаОтсутствияСервиса } |
| перечисление | Состояние { СостояниеОстановки, СостояниеДекодирования } |
Свойства
- bufferAvailable : const bool
- ошибка : const QString
- имяИсходногоФайла : QString
- состояние : const Состояние
- 1 свойство унаследовано от QMediaObject
- 1 свойство унаследовано от QObject
Открытые функции
| QAudioDecoder(QObject *parent = Q_NULLPTR) | |
| ~QAudioDecoder() | |
| QAudioFormat | audioFormat() const |
| bool | bufferAvailable() const |
| qint64 | продолжительность() const |
| Ошибка | ошибка() const |
| QString | описаниеОшибки() const |
| qint64 | позиция() const |
| QAudioBuffer | читать() const |
| void | установитьАудиоФормат(const QAudioFormat &format) |
| void | установитьИсходноеУстройство(QIODevice *device) |
| void | установитьИсходноеИмяФайла(const QString &fileName) |
| QIODevice * | исходноеУстройство() const |
| QString | имяИсходногоФайла() const |
| Состояние | состояние() const |
- 10 открытых функций унаследовано от QMediaObject
- 32 открытых функции унаследовано от QObject
Открытые слоты
| void | запуск() |
| void | остановка() |
- 1 открытый слот унаследован от QObject
Сигналы
| void | изменениеДоступностиБуфера(bool available) |
| void | буферГотов() |
| void | изменениеПродолжительности(qint64 duration) |
| void | ошибка(QAudioDecoder::Ошибка error) |
| void | завершено() |
| void | изменениеФормата(const QAudioFormat &format) |
| void | изменениеПозиции(qint64 position) |
| void | изменениеИсточника() |
| void | изменениеСостояния(QAudioDecoder::Состояние state) |
- 6 сигналов унаследовано от QMediaObject
- 2 сигнала унаследовано от QObject
Статические открытые члены
| QMultimedia::SupportEstimate | поддерживает(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 равно true).
Если available равно false, буферы недоступны.
Примечание: Сигнал оповещения для свойства 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.
Примечание: Сигнал error перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя на функцию, Qt предоставляет удобный помощник для получения указателя на функцию, как показано в этом примере:
См. также errorString().
void QAudioDecoder::finished()
Сигнализирует о том, что декодирование завершено успешно. В случае неудачи декодирования вместо этого генерируется сигнал error.
См. также 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.
[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.9/qaudiodecoder.html