Spec-Zone.ru › Qt 5.6

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().

Большая часть параметров Audio устанавливается и считывается через свойства. К ним относятся:

Свойство Описание
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 тоже просто. Процесс очень похож на процесс с Audio, фактически Видео использует многие имена свойств, методы и сигналы. Вот эквивалентный пример кода для реализации воспроизведения видео в сцене

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 Multimedia

Видео

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

Аудио

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

MediaPlayer

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

Камера

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

CameraCapture

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

CameraExposure

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

CameraFlash

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

CameraFocus

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

CameraImageProcessing

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

CameraRecorder

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

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/archives/qt-5.6/qml-multimedia.html

Spec-Zone.ru

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