FMX.Media.TVideoCaptureDevice.Quality
Delphi
property Quality: TVideoCaptureQuality read GetQuality write SetQuality;
C++
__property TVideoCaptureQuality Quality = {read=GetQuality, write=SetQuality, nodefault};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | FMX.Media.pas FMX.Media.hpp |
FMX.Media | TVideoCaptureDevice |
説明
ビデオ キャプチャの品質を指定します。
TVideoCaptureQuality 型の Quality プロパティでは、次の値のいずれかを取ることができます。
値 | 意味 |
---|---|
|
キャプチャされたデータは高解像度写真レベルの品質です。 |
|
キャプチャされたデータは高解像度です(デバイスによる)。 |
|
キャプチャされたデータは中解像度です(デバイスによる)。 |
|
キャプチャされたデータは低解像度です(デバイスによる)。 |
|
このオプションを使用すると、カスタマイズされたキャプチャ データ解像度を設定できます。 |
デフォルトでは、Quality は CaptureSettings
に設定されており、解像度
をまず優先して、使用可能な最高のカメラ品質(最高の解像度と最高のフレーム レート)を適用します。
たとえば、VideoCaptureDevice1
という TVideoCaptureDevice の Quality を LowQuality
に変更するには、次のコードを使用できます。
Delphi の場合:
VideoCaptureDevice1.Quality := TVideoCaptureQuality.LowQuality;
C++ の場合:
VideoCaptureDevice1->Quality = TVideoCaptureQuality::LowQuality;
カスタム品質キャプチャ設定の設定
Quality を TVideoCaptureQuality.CaptureSettings
に設定することにより、カスタマイズされたキャプチャ データ解像度を設定できます。
- AvailableCaptureSettings プロパティを使用すると、サポートされているさまざまな構成の配列を参照できます。
- CaptureSettingPriority を使用すると、AvailableCaptureSettings の配列を並べ替える条件を設定して、配列の並べ替え時に
Resolution
またはFrameRate
を優先させることができます。詳細については、TVideoCaptureSettingPriority のドキュメントを参照してください。
- CaptureSetting プロパティを使用すると、キャプチャ データの解像度を使用可能なものから選んで設定できます。
フレーム レートを優先させて使用可能な最高のキャプチャ設定を設定するには、たとえば、次のようなコードを使用できるでしょう。
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];
}
- メモ: 特定の CaptureSetting を設定すると、Quality プロパティには
TVideoCaptureQuality.CaptureSettings
が自動的に設定されます。