Spec-Zone.ru › Qt 5.13

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 секунд вперед.

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

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

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

Item {
    width: 640
    height: 360

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

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

Для получения полного описания этого типа см. Звуковой эффект

Типы QML мультимедиа

Аудио

Добавление аудиовоспроизведения в сцену

Камера

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

CameraCapture

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

CameraExposure

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

CameraFlash

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

CameraFocus

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

CameraImageProcessing

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

CameraRecorder

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

MediaPlayer

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

Плейлист

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

PlaylistItem

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

QtMultimedia

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

Радио

Доступ к функциям радио из приложения QML

RadioData

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

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

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

Фонарик

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

Видео

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

VideoOutput

Вывод видео или видоискателя камеры

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

Spec-Zone.ru

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