Класс QAudioDecoder
Класс QAudioDecoder позволяет декодировать аудио. Подробнее...
| Заголовок: | #include <QAudioDecoder> |
| qmake: | QT += multimedia |
| Наследует: | QMediaObject |
Этот класс находится в разработке и может быть изменён.
Открытые типы
| перечисление | Ошибка { БезОшибки, ОшибкаРесурса, ОшибкаФормата, ОшибкаДоступа, ОшибкаОтсутствияСервиса } |
| перечисление | Состояние { Остановлено, Декодирование } |
Свойства
- bufferAvailable : const bool
- error : const QString
- имяФайлаИсточника : QString
- состояние : const State
- 1 свойство унаследовано от QMediaObject
- 1 свойство унаследовано от QObject
Открытые функции
| QAudioDecoder(QObject *parent = nullptr) | |
| virtual | ~QAudioDecoder() |
| QAudioFormat | audioFormat() const |
| bool | bufferAvailable() const |
| qint64 | duration() const |
| QAudioDecoder::Ошибка | 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 |
| QAudioDecoder::Состояние | состояние() const |
- 10 открытых функций унаследовано от QMediaObject
- 34 открытых функции унаследовано от QObject
Открытые слоты
| void | start() |
| void | stop() |
- 1 открытый слот унаследован от QObject
Сигналы
| void | изменениеДоступностиБуфера(bool available) |
| void | bufferReady() |
| void | изменениеДлительности(qint64 duration) |
| void | error(QAudioDecoder::Ошибка error) |
| void | finished() |
| void | изменениеФормата(const QAudioFormat &format) |
| void | изменениеПозиции(qint64 position) |
| void | изменениеИсточника() |
| void | изменениеСостояния(QAudioDecoder::Состояние state) |
- 6 сигналов унаследовано от QMediaObject
- 2 сигнала унаследовано от QObject
Статические открытые члены
| QMultimedia::SupportEstimate | hasSupport(const QString &mimeType, const QStringList &codecs = QStringList()) |
- 10 статических открытых членов унаследовано от QObject
Дополнительные унаследованные члены
- 1 открытая переменная унаследована от QObject
- 2 защищённых функций унаследовано от QMediaObject
- 9 защищённых функций унаследовано от QObject
- 2 защищённых переменных унаследовано от 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 истинно).
Если available ложно, буферы недоступны.
Примечание: Сигнал уведомления для свойства 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)
Сигнализирует о том, что текущая позиция декодера изменилась на 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.
[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.11/qaudiodecoder.html