Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
develop:qt:media [2021/10/31 11:53] admin |
develop:qt:media [2021/11/05 11:38] (текущий) admin |
||
---|---|---|---|
Строка 19: | Строка 19: | ||
- | ==== QMediaService | + | ==== QMediaControl |
Базовый класс для элементов управления медиа-сервисом.\\ | Базовый класс для элементов управления медиа-сервисом.\\ | ||
Из функций тоже ничего не указано, | Из функций тоже ничего не указано, | ||
Строка 27: | Строка 27: | ||
===== QCamera ===== | ===== QCamera ===== | ||
Предоставляет интерфейс для системных камер.\\ | Предоставляет интерфейс для системных камер.\\ | ||
- | Можно использовать с **QCameraViewfinder** для отображения видоискателя, | + | Можно использовать с **QCameraViewfinder** для отображения видоискателя, |
- | < | + | |
- | < | + | |
- | <code cpp-qt> | + | |
- | camera= new Camera; | + | |
- | viewfinder= new QCameraViewfinder(); | + | |
- | viewfinder-> | + | |
- | camera-> | + | Имеется несколько свойств: |
+ | * **captureMode** | ||
+ | * **lockStatus** - общий статус всех запрошенных блокировок камеры (фокус/ | ||
+ | * **state** - текущее состояние камеры (UnloadedState; | ||
+ | * **status** - текущий статус камеры (ActiveStatus; | ||
- | imageCapture= new QCameraImageCapture(camera); | ||
- | camera-> | ||
- | camera-> | ||
- | </ | ||
- | </ | ||
+ | ==== QCameraImageCapture ==== | ||
+ | Класс для доступа к функциям записи мультимедийных объектов.\\ | ||
+ | enum **CaptureDestination**: | ||
+ | |||
+ | int **Capture(QString)**- захват изображения и сохранение его в файл. Асинхронная, | ||
+ | Если путь/ | ||
+ | Возвращает параметр **Id** используемый в упомянутых сигналах\\ | ||
+ | Перед вызовом стоит проверить готовность камеры, | ||
+ | |||
+ | **imageAvailable(int Id, QVideoFrame)**- сигнал, | ||
+ | |||
+ | |||
+ | ==== QCameraInfo ==== | ||
+ | Получение информации о доступных в системе камерах.\\ | ||
+ | Статические ф-ции **defaultCamera()** и **availableCameras()** возвращают доступные устр-ва.\\ | ||
+ | Можно создавать собственные объекты, | ||
- | Можно использовать **QCameraInfo** для вывода списка и выбора доступных камер\\ | ||
< | < | ||
< | < | ||
Строка 58: | Строка 66: | ||
+ | ==== QCameraViewfinder ==== | ||
+ | Виджет видоискателя камеры | ||
+ | < | ||
+ | < | ||
+ | <code cpp-qt> | ||
+ | camera= new Camera; | ||
+ | viewfinder= new QCameraViewfinder(); | ||
+ | viewfinder-> | ||
- | ==== ==== | + | camera-> |
- | + | ||
- | ==== ==== | + | |
- | + | ||
+ | imageCapture= new QCameraImageCapture(camera); | ||
+ | camera-> | ||
+ | camera-> | ||
+ | </ | ||
+ | </ | ||
+ | ==== QCameraFocus ==== | ||
+ | Позволяет настраивать фокусировку и масштабирование.\\ | ||
+ | Масштабирование может быть **оптическим** (более дорогое но более качественное, | ||
+ | **maximumOpticalZoom()** позволяет проверить поддержку оптического зума, **zoomTo()** позволяет одновременно изменять оптическое и цифровое масштабирование.\\ | ||
+ | Некоторое оборудование поддерживает автофокусировку, | ||
+ | < | ||
+ | < | ||
+ | <code cpp-qt> | ||
+ | QCameraFocus *focus= camera-> | ||
+ | focus-> | ||
+ | focus-> | ||
+ | // super zoom | ||
+ | focus-> | ||
+ | </ | ||
+ | </ | ||