FMX.Media.TVideoCaptureDevice.Quality

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property Quality: TVideoCaptureQuality read GetQuality write SetQuality;

C++

__property TVideoCaptureQuality Quality = {read=GetQuality, write=SetQuality, nodefault};

Propriétés

Type Visibilité  Source Unité  Parent
property public
FMX.Media.pas
FMX.Media.hpp
FMX.Media TVideoCaptureDevice


Description

Spécifie la qualité de la capture vidéo.

La propriété Quality de type TVideoCaptureQuality peut prendre l'une des valeurs suivantes :

Valeur Signification

PhotoQuality

Les données capturées sont de qualité photo en haute résolution.

HighQuality

Les données capturées sont en haute résolution (selon le périphérique).

MediumQuality

Les données capturées sont en moyenne résolution (selon le périphérique).

LowQuality

Les données capturées sont en basse résolution (selon le périphérique).

CaptureSettings

Cette option vous permet de définir une résolution des données de capture personnalisée.

Par défaut, Quality est définie sur CaptureSettings et elle utilise la meilleure qualité de caméra disponible (meilleure résolution et meilleure fréquence d'images) en donnant la priorité à la résolution.

Par exemple, pour changer la qualité du TVideoCaptureDevice VideoCaptureDevice1 sur LowQuality, vous pouvez utiliser la ligne suivante :

Delphi :
VideoCaptureDevice1.Quality := TVideoCaptureQuality.LowQuality;
C++ :
VideoCaptureDevice1->Quality = TVideoCaptureQuality::LowQuality;

Définition d'un paramètre de capture qualité personnalisé

En définissant la qualité sur TVideoCaptureQuality.CaptureSettings, vous pouvez définir une résolution des données de capture personnalisée :

Pour définir les meilleurs paramètres de capture disponibles en donnant la priorité à la fréquence d'images, vous pourriez par exemple utiliser le code suivant :

Delphi :
procedure TForm1.SetMaxFrameRateClick(Sender: TObject);
var
  LSettings: TArray<TVideoCaptureSetting>;
begin
  VideoCaptureDevice1.CaptureSettingPriority := TVideoCaptureSettingPriority.FrameRate;
  LSettings := VideoCaptureDevice1.AvailableCaptureSettings;
  VideoCaptureDevice1.CaptureSetting := LSettings[0];
end;
C++ :
void __fastcall TForm1::SetMaxFrameRateClick(TObject *Sender)
{
	DynamicArray<TVideoCaptureSetting> LSettings;
	VideoCaptureDevice1->CaptureSettingPriority = TVideoCaptureSettingPriority::FrameRate;
	LSettings = VideoCaptureDevice1->AvailableCaptureSettings;
	VideoCaptureDevice1->CaptureSetting = LSettings[0];
}
Remarque : Lorsque vous définissez un CaptureSetting spécifique, la propriété Quality est automatiquement définie sur TVideoCaptureQuality.CaptureSettings.

Voir aussi