TRVCamMultiView.Viewers

<< Нажмите, чтобы показать Содержание >>

TRVCamMultiView.Viewers

Коллекция элементов, задающих свойства видео-окон

type

  TRVCamViewCollection = class(TCollection);

  TRVCamViewItem = class(TCollectionItem)

 

property Viewers: TRVCamViewCollection;

Это набор элементов, имеющих тип TRVCamViewItem. Каждый элемент определяет свойства одного видео-окна.

Свойства элемента описаны ниже.

Свойства видео-окна (TRVCamViewItem)

Свойства видео

Элемент в этой коллекции обладает теми же свойствами, что и компонент TRVCamView (ссылки ниже ведут к соответствующим свойствам компонента TRVCamView):

VideoSource

GUIDFrom, IndexFrom

Title, CaptionParts, ShowCaption, CaptionColor

Color

ShowCameraSearch

UseOptimalVideoResolution

ViewMode

FrameScaleQuality [VCL и LCL]

Кроме того, если UseFramePerSec=True (по умолчанию False), FramePerSec присваивается соответствующему TRVCamView.VideoSource.FramePerSec (см. ниже о главных окнах просмотра).

По умолчанию свойства Color и CaptionColor равны clNone. Это означает, что вместо них используются свойства родительского компонента TRVCamMultiView (ViewerColor и CaptionColor).

Некоторые видео-окна можно выбрать в качестве главных: присвойте MainViewer=True. Главные видео-окна отображают копию видео из выбранного видео-окна, см. ViewerIndex. Обычно имеет смысл назначить только одно главное видео-окно и сделать его размер больше, чем у других видео-окон. Когда видео-окно выбрано, вместо свойств выбранного видео-окна используются FramePerSec и UseFramePerSec главного видео-окна (если главных видео-окон несколько, используется максимальное значение их FramePerSec). Таким образом, вы можете указать большую частоту кадров для выбранного видео-окна, чем для обычных окон.

Координаты

Свойства Left, Top, Width, Height определяют положение и размер видео-окна. Эти значения измеряются в логических пикселях при 96 DPI. Если плотность пикселей экрана отличается, размер и положение пересчитываются соответствующим образом.

При изменении размера компонента все его видео-окна также могут быть изменены в размере. Режим изменения размера зависит от свойства ScaleViewers компонента.

Если оно имеет значение True, значения Left, Top, Width и Height видео-окон изменяются пропорционально новому размеру.

Если оно имеет значение False, размеры и положение видео-окон изменяются в соответствии со свойствами AlignVideoViewer и Anchor.

type
  TRVMAnchor = (

    rvmaLeft, rvmaTop, rvmaRight, rvmaBottom

  );
  TRVMAnchors = set of TRVMAnchor;

 

property Anchors: TRVMAnchors;

Использование Anchors гарантирует, что видео-окно сохранит своё положение относительно края окна компонента, даже если компонент изменит свой размер. При изменении размера компонента видео-окно сохраняет свое положение относительно краёв, к которым оно привязано. Если видео-окно привязано к противоположным краям своего компонента, оно растягивается при изменении размера компонента. Например, если свойство Anchors видео-окна установлено в [rvmaLeft, rvmaRight], видео-окно растягивается при изменении ширины компонента. Значение по умолчанию для Anchors[rvmaLeft, rvmaTop]. Anchors используются только в том случае, если ScaleViewers компонента = False.

type
  TRVAlignVideoViewer = (

    rvavvTop, rvavvBottom,

    rvavvLeft, rvavvRight,
    rvavvClient, rvavvNone

  );

 
property AlignVideoViewer: TRVAlignVideoViewer;

Используйте AlignVideoViewer, чтобы выровнять видео-окно по верхнему, нижнему, левому или правому краю окна компонента и сохранить его положение даже при изменении размера компонента. При изменении размера компонента выравненное видео-окно также изменяет свой размер, продолжая занимать верхний, нижний, левый или правый край окна компонента. Значение по умолчанию для AlignVideoViewer равно rvavvNone, что означает, что видео-окно остаётся на том месте, где оно изначально расположено в окне компонента. Если AlignVideoViewer установлено в rvavvClient, видео-окно заполняет всю область окна компонента. AlignVideoViewer используется только в том случае, если ScaleViewers компонента = False.

Для получения координат видео-окна можно использовать метод объекта TRVCamViewItem:

procedure GetViewerRects(out VideoRect, AudioRect: TRVMRect);

Этот метод возвращает области, где отображаются видео и индикатор звука в родительском компоненте TRVCamMultiView. Вы можете использовать этот метод в пользовательском событии отрисовки.

Свойства индикатора звука

Помимо окна просмотра видео, окно просмотра может содержать дополнительное окно индикации звука (встроенный компонент TRVMicrophoneView). Оно управляется следующими свойствами:

AudioViewer: Boolean показывает/скрывает индикатор звука (значение по умолчанию = False)

AlignAudioViewer: TRVAlignAudioViewer задаёт позицию индикатора звука (значение по умолчанию = rvaavRight)

AudioViewerColor: TRVMColor задаёт цвет фона индикатора звука.

type
  TRVAlignAudioViewer = (

    rvaavTop, rvaavBottom, rvaavLeft, rvaavRight,

    rvaavClient

  );

Значение

Описание

rvaavTop

Индикатор звука над видео

rvaavBottom

Индикатор звука под видео

rvaavLeft

Индикатор звука слева от видео

rvaavRight

Индикатор звука справа от видео

rvaavClient

Индикатор звука занимает всю область, закрывая видео

Если свойство VideoSource указывает на TRVCamReceiver, индикатор звука отображает активность этого получателя: свойства VideoSource и GUIDFrom присваютваются свойствам ReceiverSource и GUIDFrom интегрированного компонента TRVMicrophoneView. соответственно.

Если свойство VideoSource указывает на TRVCamera, индикатор звука отображает активность компонента, связанного со свойством AudioSource родительского компонента TRVCamMultiView.