Spec-Zone.ru › Qt 5.12

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

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

Радио

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

RadioData

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

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

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

Фонарик

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

Видео

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

Видеовывод

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

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

Spec-Zone.ru

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