Класс QAudioDecoder
Класс QAudioDecoder реализует декодирование аудио. Подробнее...
| Заголовок: | #include <QAudioDecoder> |
| CMake: | find_package(Qt6 COMPONENTS Multimedia REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
| Наследуется от: | QObject |
Этот класс находится в стадии разработки и может быть изменён.
Открытые типы
| перечисление | Ошибка { НетОшибки, ОшибкаРесурса, ОшибкаФормата, ОшибкаДоступа, ОшибкаНеПоддерживается } |
Свойства
- bufferAvailable : const bool
- ошибка : const QString
- isDecoding : const bool
- источник : QUrl
Открытые функции
| QAudioDecoder(QObject *parent = nullptr) | |
| virtual | ~QAudioDecoder() |
| QAudioFormat | audioFormat() const |
| bool | bufferAvailable() const |
| qint64 | duration() const |
| QString | ошибкаСтрока() const |
| bool | isDecoding() const |
| bool | isSupported() const |
| qint64 | position() const |
| QAudioBuffer | read() const |
| void | setAudioFormat(const QAudioFormat &format) |
| void | setSource(const QUrl &fileName) |
| void | setSourceDevice(QIODevice *device) |
| QUrl | source() const |
| QIODevice * | sourceDevice() const |
Открытые слоты
| void | start() |
| void | stop() |
Сигналы
| void | bufferAvailableChanged(bool available) |
| void | bufferReady() |
| void | durationChanged(qint64 duration) |
| void | error(QAudioDecoder::Ошибка error) |
| void | finished() |
| void | formatChanged(const QAudioFormat &format) |
| void | isDecodingChanged(bool) |
| void | positionChanged(qint64 position) |
| void | sourceChanged() |
Подробное описание
Класс QAudioDecoder — это класс высокого уровня для декодирования аудиомедиафайлов. Он похож на класс QMediaPlayer, за исключением того, что аудио предоставляется обратно через этот API, а не передаётся напрямую в аудиооборудование.
См. также QAudioBuffer.
Документация по типу члена
перечисление QAudioDecoder::Ошибка
Определяет условие ошибки медиаплеера.
| Константа | Значение | Описание |
|---|---|---|
QAudioDecoder::NoError |
0 |
Ошибка не произошла. |
QAudioDecoder::ResourceError |
1 |
Ресурс медиа не может быть разрешён. |
QAudioDecoder::FormatError |
2 |
Формат ресурса медиа не поддерживается. |
QAudioDecoder::AccessDeniedError |
3 |
Отсутствуют соответствующие разрешения для воспроизведения ресурса медиа. |
QAudioDecoder::NotSupportedError |
4 |
QAudioDecoder не поддерживается на этой платформе. |
Документация по свойству
[read-only] bufferAvailable : const bool
Это свойство указывает, доступен ли декодированный буфер аудио.
Функции доступа:
| bool | bufferAvailable() const |
Сигнал уведомления:
| void | bufferAvailableChanged(bool available) |
[read-only] ошибка : const QString
Это свойство содержит текущее состояние ошибки.
Функции доступа:
| QString | ошибкаСтрока() const |
[read-only] isDecoding : const bool
true, выполняет ли декодер в настоящее время декодирование аудиоданных.
Функции доступа:
| bool | isDecoding() const |
Сигнал уведомления:
| void | isDecodingChanged(bool) |
источник : QUrl
Это свойство содержит активное имя файла, декодируемое объектом декодера.
Функции доступа:
| QUrl | source() const |
| void | setSource(const QUrl &fileName) |
Сигнал уведомления:
| void | sourceChanged() |
Документация по функции члена
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)
Сигнализирует о том, что текущая позиция декодера изменилась.
См. также durationChanged().
[signal] void QAudioDecoder::sourceChanged()
Сигнализирует о том, что текущий источник декодера изменился.
Примечание: Сигнал уведомления для свойства source.
См. также source() и sourceDevice().
[slot] void QAudioDecoder::start()
Начинает декодирование аудиоресурса.
По мере декодирования данных, сигнал bufferReady() будет генерироваться, когда будет декодировано достаточно данных. Вызов read() затем вернёт аудиобуфер без блокировки.
Если вы вызываете read() до того, как буфер будет готов, будет возвращён недействительный буфер, также без блокировки.
См. также read().
[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, если она недоступна.
QString QAudioDecoder::errorString() const
Возвращает удобочитаемое описание текущей ошибки или пустую строку, если ошибки нет.
Примечание: Функция-получатель для свойства error.
bool QAudioDecoder::isSupported() const
Возвращает true, если декодирование аудио поддерживается на этой платформе.
qint64 QAudioDecoder::position() const
Возвращает позицию (в миллисекундах) последнего считанного буфера из декодера или -1, если буферы не считывались.
QAudioBuffer QAudioDecoder::read() const
Читает буфер из декодера, если он доступен. Возвращает недействительный буфер, если доступных декодированных буферов нет или при ошибке. В обоих случаях эта функция не будет блокировать.
Вы должны либо реагировать на сигнал bufferReady(), либо проверять функцию bufferAvailable() перед вызовом read(), чтобы убедиться, что вы получаете полезные данные.
void QAudioDecoder::setAudioFormat(const QAudioFormat &format)
Устанавливает желаемый аудиоформат для декодированных образцов на format.
Это свойство может быть установлено только в то время, когда декодер остановлен. Установка этого свойства в другое время будет проигнорирована.
Если декодер не поддерживает этот формат, error() будет установлено на FormatError.
Если вы не укажете формат, будет использован формат декодированного аудио. В противном случае будет применено некоторое преобразование формата.
Если вы хотите сбросить декодированный формат на формат исходного аудиофайла, вы можете указать недействительный format.
Предупреждение: Указание желаемого аудиоформата пока не поддерживается на Android.
См. также audioFormat().
void QAudioDecoder::setSource(const QUrl &fileName)
Устанавливает текущее имя аудиофайла на fileName.
При установке этого свойства любое текущее декодирование останавливается, и все аудиобуферы удаляются.
Вы можете указать только имя файла источника или устройство QIODevice. Установка одного отменит другое.
Примечание: Функция-установщик для свойства source.
См. также source().
void QAudioDecoder::setSourceDevice(QIODevice *device)
Устанавливает текущее аудио устройство QIODevice на device.
При установке этого свойства любое текущее декодирование останавливается, и все аудиобуферы удаляются.
Вы можете указать только имя файла источника или устройство QIODevice. Установка одного отменит другое.
См. также sourceDevice().
QUrl QAudioDecoder::source() const
Возвращает текущее имя файла для декодирования. Если был вызван setSourceDevice, это будет пустая строка.
Примечание: Функция-получатель для свойства source.
См. также setSource().
QIODevice *QAudioDecoder::sourceDevice() const
Возвращает текущее устройство источника QIODevice, если оно было установлено. Если был вызван setSource(), это будет nullptr.
См. также setSourceDevice().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qaudiodecoder.html