Spec-Zone.ru › Qt 5.13

Класс QSound

Класс QSound предоставляет метод для воспроизведения звуковых файлов формата .wav. Подробнее...

Заголовок: #include <QSound>
qmake: QT += multimedia
Наследуется от: QObject
  • Список всех членов, включая наследуемые

Открытые типы

перечисление Loop { Бесконечно }

Открытые функции

QSound(const QString &filename, QObject *parent = nullptr)
виртуальный ~QSound()
QString fileName() const
bool isFinished() const
int loops() const
int loopsRemaining() const
void setLoops(int number)

Открытые слоты

void play()
void stop()

Статические открытые члены

void play(const QString &filename)

Подробное описание

Qt предоставляет наиболее часто используемые операции с аудио в приложениях с графическим интерфейсом пользователя: асинхронное воспроизведение звуковых файлов. Это проще всего сделать с помощью статической функции play():

QSound::play("mysounds/bells.wav");

В качестве альтернативы, сначала создайте объект QSound из звукового файла, а затем вызовите слот play():

QSound bells("mysounds/bells.wav");
bells.play();

В обоих случаях файл может быть локальным или находиться в ресурсах.

После создания объект QSound может быть запрошен для получения имени файла fileName() и общего количества повторений loops() (т.е. числа воспроизведений звука). Количество повторений может быть изменено с помощью функции setLoops(). Во время воспроизведения звука функция loopsRemaining() возвращает оставшееся количество повторений. Используйте функцию isFinished(), чтобы определить, закончено ли воспроизведение звука.

Звуки, воспроизводимые с помощью объекта QSound, могут потреблять больше памяти, чем статическая функция play(), но также могут воспроизводиться быстрее (в зависимости от возможностей аудио на платформе).

Если вам нужен более тонкий контроль над воспроизведением звуков, рассмотрите классы QSoundEffect или QAudioOutput.

См. также QSoundEffect.

Документация по типам членов

перечисление QSound::Loop

Константа Значение Описание
QSound::Infinite -1 Может быть использован в качестве параметра для setLoops(), чтобы воспроизводить звук бесконечно.

Документация по функциям членов

QSound::QSound(const QString &filename, QObject *parent = nullptr)

Конструирует объект QSound из файла, указанного в filename, и с указанным parent.

Файл может быть локальным или находиться в ресурсах.

См. также play().

[slot] void QSound::play()

Это перегруженная функция.

Начинает воспроизведение звука, указанного этим объектом QSound.

Функция возвращает управление немедленно. В зависимости от возможностей аудио платформы, другие звуки могут быть остановлены или смешаны с новым звуком. Звук может быть воспроизведён снова в любое время, возможно, смешиваясь или заменяя предыдущие воспроизведения звука.

См. также fileName().

[slot] void QSound::stop()

Останавливает воспроизведение звука.

См. также play().

[virtual] QSound::~QSound()

Удаляет этот объект звука. Если звук не закончен, то функция stop() вызывается перед удалением объекта звука.

См. также stop() и isFinished().

QString QSound::fileName() const

Возвращает имя файла, связанное с этим объектом QSound.

См. также QSound().

bool QSound::isFinished() const

Возвращает true, если воспроизведение звука завершено; в противном случае возвращает false.

int QSound::loops() const

Возвращает количество повторений звука. Значение QSound::Infinite указывает на бесконечное количество повторений.

См. также loopsRemaining() и setLoops().

int QSound::loopsRemaining() const

Возвращает оставшееся количество повторений звука (для всех положительных значений это значение уменьшается каждый раз, когда звук воспроизводится). Значение QSound::Infinite указывает на бесконечное количество повторений.

См. также loops() и isFinished().

[static] void QSound::play(const QString &filename)

Воспроизводит звук, хранящийся в файле, указанном в filename.

Файл может быть локальным или находиться в ресурсах.

См. также stop(), loopsRemaining(), и isFinished().

void QSound::setLoops(int number)

Устанавливает количество повторений звука при его воспроизведении.

Обратите внимание, что передача значения QSound::Infinite приведет к бесконечному циклу воспроизведения звука.

См. также loops().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qsound.html

Spec-Zone.ru

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