Spec-Zone.ru › Qt

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API