Spec-Zone.ru › Qt 5.14

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 Multimedia

Аудио

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

Камера

Доступ к кадрам видоискателя, а также к фото- и видеосъёмке

CameraCapture

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

CameraExposure

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

CameraFlash

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

CameraFocus

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

CameraImageProcessing

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

CameraRecorder

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

MediaPlayer

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

Плейлист

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

PlaylistItem

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

QtMultimedia

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

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.14/qml-multimedia.html

Spec-Zone.ru

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