Инструменты пользователя

Инструменты сайта


develop:qt:media

Это старая версия документа!


Мультимедия

qt += multimedia

QMediaObject

Предоставляет некоторые базовые функции, которые являются общими для классов более высокого уровня, в основном такие как: доступность, метаданные, функции для соединения со вспомогательными классами.

Классы более высокого уровня обеспечивают фактическую мультимедийную функциональность за счет внутреннего использования QMediaService и используют интерфейсы QMediaControl, реализованные службой, для реализации своего API.
Большинство медиа-объектов при создании будут запрашивать новый экземпляр QMediaService, но некоторые (QMediaRecorder, QAudioRecorder) могут совместно использовать службу.

QMediaService

Класс устарел, не рекомендуется к использованию, альтернатива не указана.
Общий базовый класс, для реализации медиа-сервисов.
Из функций толком ничего не указано в доке, видимо выводится из использования, а функционал вынесен в другие классы.

QMediaControl

Базовый класс для элементов управления медиа-сервисом.
Из функций тоже ничего не указано, наследуемых классов оч много, очевидно именно в них весь функционал
«Большая часть кода приложения не будет напрямую взаимодействовать с элементами управления медиа-службой, вместо этого QMediaObject действует как посредник, между эл управления и приложением»

QCamera

Предоставляет интерфейс для системных камер.
Можно использовать с QCameraViewfinder для отображения видоискателя, QMediaRecorder для записи видео и QCameraImageCapture для съемки изображений

:!: Пример: использование QCameraViewfinder
camera= new Camera;
viewfinder= new QCameraViewfinder();
viewfinder->show();
 
camera->setViewfinder(viewfindeer);
 
imageCapture= new QCameraImageCapture(camera);
camera->setCaptureMode(QCamera::CaptureStillImage);
camera->start();

Можно использовать QCameraInfo для вывода списка и выбора доступных камер

:!: Пример: выбор камеры из списка
const QList<QCameraInfo> vCamers= QCameraInfo::availableCameras();
for(const QCameraInfo &cameraInfo:vCamers)
{
  if(cameraInfo.deviceName()== "myCamera")
    camera= new QCamera(cameraInfo())
}

QCameraImageCapture

QCameraInfo

QCameraViewfinder

develop/qt/media.1636090359.txt.gz · Последнее изменение: 2021/11/05 05:32 — admin