Spec-Zone.ru › Qt 5.11

Qt Multimedia QML API

Обзор

Модуль Qt Multimedia предоставляет разработчикам упрощённый способ использования аудио- и видеовоспроизведения, а также доступа к функциям камеры. API Multimedia QML предоставляет 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 пикселей с id 'video' воспроизведётся источник "video.avi". Обратите также внимание, что определены сигналы для Клавиш, поэтому нажатие пробела включает/выключает паузу, нажатие левой стрелки переместит текущую позицию видео на 5 секунд назад, а нажатие правой стрелки — вперёд на 5 секунд.

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

SoundEffect

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

Item {
    width: 640
    height: 360

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

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

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

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

Аудио

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

Камера

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

CameraCapture

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

CameraExposure

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

CameraFlash

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

CameraFocus

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

CameraImageProcessing

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

CameraRecorder

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

MediaPlayer

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

Плейлист

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

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

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

QtMultimedia

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

Радио

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

RadioData

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

SoundEffect

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

Фонарик

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

Видео

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

Видеовывод

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

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

Spec-Zone.ru

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