Spec-Zone.ru › Qt 5.9

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 мультимедиа

Video

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

Audio

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

MediaPlayer

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

Camera

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

CameraCapture

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

CameraExposure

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

CameraFlash

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

CameraFocus

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

CameraImageProcessing

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

CameraRecorder

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

QtMultimedia

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

Playlist

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

PlaylistItem

Определяет элемент в списке воспроизведения

Radio

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

RadioData

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

Torch

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

SoundEffect

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

VideoOutput

Рендеринг видео или видоискателя камеры

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

Spec-Zone.ru

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