Spec-Zone.ru › Qt 5.15

Qt Multimedia QML API

Обзор

Модуль Qt Multimedia предоставляет разработчикам упрощенный способ использования воспроизведения аудио и видео, а также доступа к функциональности камеры. QML API Multimedia предоставляет удобный для QML интерфейс к этим функциям.

Типы

Аудио

Аудио — простой способ добавить воспроизведение аудио в сцену Qt Quick. Qt Multimedia предоставляет свойства для управления, методы (функции) и сигналы.

Ниже приведен фрагмент кода, демонстрирующий создание и использование экземпляра Audio.

Item {
    width: 640
    height: 360

    Audio {
        id: playMusic
        source: "music.wav"
    }

    MouseArea {
        id: playArea
        anchors.fill: parent
        onPressed:  { playMusic.play() }
    }
}

Вышеприведенный фрагмент показывает, как включение playMusic активирует аудиофункции в типе, который его содержит. Таким образом, при нажатии области MouseArea родительского элемента будет вызван метод play() объекта Audio. Также доступны другие стандартные методы управления аудио, такие как pause() и stop().

Большая часть получения/установки параметров Аудио выполняется через свойства. К ним относятся

Свойство Описание
source URL источника медиа.
autoLoad Указывает, следует ли начать загрузку медиа сразу.
playing Указывает, что медиа воспроизводится.
paused Медиа приостановлено.
status Статус загрузки медиа.
duration Продолжительность воспроизведения медиа в миллисекундах.
position Текущая позиция в медиа во время воспроизведения в миллисекундах.
volume Громкость аудиовыхода: от 0.0 (тишина) до 1.0 (максимум)
muted Указывает, что аудио заглушено.
bufferProgress Указывает, насколько заполнен буфер данных: от 0.0 (пустой) до 1.0 (полный).
seekable Указывает, можно ли изменить позицию аудио.
playbackRate Скорость воспроизведения аудио, как кратная нормальной скорости.
error Код ошибки для состояния ошибки, включая NoError
errorString Описание текущей ошибки.

Набор доступных сигналов позволяет разработчику создавать пользовательское поведение при возникновении следующих событий:

Сигнал Описание
playing Вызывается при запуске воспроизведения или возобновлении после паузы.
paused Вызывается при приостановке воспроизведения.
stopped Вызывается при остановке воспроизведения.
error Вызывается при возникновении указанной ошибки.

Камера

Камера позволяет получать статические изображения и видео с помощью QML. Она имеет ряд свойств для настройки.

Подробное описание использования Камеры приведено в Обзоре камеры и соответствующей справочной документации.

Видео

Добавление видео с аудио в сцену Qt Quick также просто. Процесс очень похож на процесс с аудио, описанный выше, на самом деле Видео использует многие из тех же свойств, методов и сигналов. Вот примерный код для реализации воспроизведения видео в сцене

Video {
    id: video
    width : 800
    height : 600
    source: "video.avi"

    MouseArea {
        anchors.fill: parent
        onClicked: {
            video.play()
        }
    }

    focus: true
    Keys.onSpacePressed: video.paused = !video.paused
    Keys.onLeftPressed: video.position -= 5000
    Keys.onRightPressed: video.position += 5000
}

Есть похожие функции, например, play(), с новыми функциями, специфичными для видео.

В приведенном примере, при нажатии родительской области MouseArea, в области размером 800x600 пикселей с идентификатором 'video', будет воспроизводиться источник "video.avi". Также обратите внимание, что определены сигналы для Клавиш, так что нажатие пробела будет переключать паузу; левая стрелка переместит текущую позицию видео на 5 секунд назад; а правая стрелка продвинет текущую позицию видео на 5 секунд вперёд.

Большинство различий, очевидно, касаются управления и информации о видео. Существует множество свойств, связанных с Видео, большинство из них связаны с метаданными, управлением медиа видео и аспектами представления.

Звуковой эффект

SoundEffect предоставляет способ воспроизведения коротких звуковых эффектов, например, в видеоиграх. Можно воспроизводить несколько экземпляров звуковых эффектов одновременно. Для воспроизведения музыки используйте Аудио.

Item {
    width: 640
    height: 360

    SoundEffect {
        id: effect
        source: "test.wav"
    }
    MouseArea {
        id: playArea
        anchors.fill: parent
        onPressed:  { effect.play() }
    }
}

В приведенном примере звуковой эффект будет воспроизведён при нажатии на MouseArea.

Полное описание этого типа см. в SoundEffect

Типы QML Multimedia

Аудио

Добавить воспроизведение аудио в сцену

Камера

Получать кадры видоискателя, делать фото и видео

CameraCapture

Интерфейс для захвата изображений камеры

CameraExposure

Интерфейс для настроек экспозиции камеры

CameraFlash

Интерфейс для настроек вспышки камеры

CameraFocus

Интерфейс для настроек фокуса камеры

CameraImageProcessing

Интерфейс для настроек, связанных с захватом изображений камеры

CameraRecorder

Управление записью видео с помощью камеры

MediaPlayer

Добавить воспроизведение медиа в сцену

Плейлист

Для указания списка медиа для воспроизведения

Элемент плейлиста

Определяет элемент в плейлисте

QtMultimedia

Предоставляет глобальный объект с полезными функциями из Qt Multimedia

RadioData

Доступ к данным RDS из QML-приложения

Звуковой эффект

Тип предоставляет способ воспроизведения звуковых эффектов в QML

Фонарик

Простое управление функциональностью фонарика

Видео

Удобный тип для отображения указанного видео

Вывод видео

Отображение видео или видоискателя камеры

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

Spec-Zone.ru

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